4.3 选择器的组合
本节将介绍选择器的组合,它们可以进行更复杂的元素选择:
1. 选择器(没有空格)选择器
两个选择器连着中间没有空格,表示要同时满足两个选择器,例如:
<style>div.abc{ /* 选择了class是abc的所有div元素 */ color:red;}#main.abc{ /* 选择了id值是main并且class是abc的元素 */ color:blue;}</style><p class="abc"> 我是p元素,我的class值是abc</p><span>我是span元素</span><div class="abc"> 我是div元素,我的class值是abc</div><p id="main" class="abc"> 我是p元素,我的id值是main,我的class值是abc</p>2.选择器1(空格)选择器2
两个选择器连着中间有空格,表示选择器1内部的选择器2的所有元素,例如:
div .abc{ /* 选择了div元素内部class是abc的所有元素 */}而下面的html的p元素和span会命中:
<style>div .abc{ color:blue;}</style><div> <p class="abc"> 弃我去者,昨日之日不可留。乱我心者,今日之日多烦忧 </p></div><div> <span class="abc">李白</span></div>再来一个例子:
#main .abc{ /* 选择了id值是main内部,并且class是abc的元素 */}下面的html的第一段p元素会命中,但是第二段的p元素不会命中:
<style>#mainbe .abc{ color:yellow;}</style><div id="mainbe"> <p class="abc"> 弃我去者,昨日之日不可留。乱我心者,今日之日多烦忧 </p></div><div> <p class="abc"> 君不见,黄河之水天上来 </p></div>3 选择器1 > 选择器2
表示选择器1内部的选择器2的所有元素,并且要求选择器1必须是选择器2的直接父元素,它跟上一条很像,但选中的元素必须是以选择器1的元素为父元素,例如:
<style>div > .abc{ color:blue;}</style><div> <p class="abc"> 弃我去者,昨日之日不可留。乱我心者,今日之日多烦忧 </p></div><div> <p> <span class="abc">李白</span> </p></div>这里第一段的弃我去者会命中,但是后面的李白不会命中,因为李白所处的span元素虽然有abc类,但它的父元素是一个p元素
4. 选择器(逗号)选择器
两个选择器用逗号隔开,表示或者关系
div,.abc{ /* 选择了class是abc,或者标签是div的元素 */}#main,.abc{ /* 选择了id值是main,或者class是abc的元素 */}