nth-child与nth-of-type使用中对选择器的注意事

2017-04-28  本文已影响40人  Aleph_Zheng
这是一篇在实际使用过程中,对选择器及nth-child与nth-of-type注意事项的备忘。

首先,在css选择器中,有一个细节需要注意,就是选择父元素下的子元素后,父子元素之间是否有空格。

以下是html

   <div class="div1 extra">
    <span class="span1 extra">1111</span>
    <span class="span1">22222</span>
    <span class="span1">3333</span>
    <span class="span1">4444</span>
    <span class="span1 extra">555</span>
    <span class="span1">6666</span>
    <span class="span1">77777</span>
    <span class="span1">88888888</span>
  </div>

下面是css

.div1.extra{
  background:yellow;
}

.div1 .extra{
  text-decoration:underline;
}

结果:
第一个选择器选择的是拥有.div1和.extra两个class的元素,即外面包裹div元素,所以设置的黄色背景对所有的span都起作用;

第二个选择器.div1.extra选择的是.div1下的拥有.extra类的子元素,所有只有第1个和第5个匹配了。

image.png

同样的效果也会出现在我们应用nth-child和nth-of-type也是相同的。

举个栗子
<ul>
    <li>11111</li>
    <li>22222222</li>
    <li>3333333</li>
    <li>44444444</li>
    <li>5555555</li>
    <li>666666666666</li>
  </ul>
ul :nth-child(2) {
  color: red;
}
/*ul后面有空格,空格后的是其子元素li,匹配的是li的父亲ul下的第2个孩子*/
--------------------------------------
li:nth-child(3){
  color: blue;
}
/*li后面没空格,匹配的是li的父亲ul,下的第3个孩子*/

结果如下:


image.png

注意点还是和nth-child一致。

以上~~!

上一篇 下一篇

猜你喜欢

热点阅读