对于初学者来讲,区别"nth-child"和"nth-of-type"是一个比较头疼的问题,为了更好帮助你们区别二者使用方法,特在此加以区分。html
<div class="post">
<p>我是文章的第一个段落</p>
<p>我是文章的第二个段落</p><!** ==我要变成第二个段落== **>
</div>
post
.post>p:nth-child(2){color:red;}
.post>p:nth-of-type(2){color:red;}
code
上面的代码都把“post”中的第二段文字变成了大红色,是否是表明这两个选择器就是同样的呢?其实否则。“nth-child”仅从字面上来解释,其实包含了两层意思。首先是一个段落元素,并且这个段落是父元素“div”的第二个子元素;而“nth-of-type”从字面上解释是“选择父元素div的段落二”。
<h1>我是标题</h1>
<p>我是文章的第一个段落</p>
<p>我是文章的第二个段落</p><!** ==我要变成第二个段落== **>
htm
前面的样式不变,但结构却彻底不一样了。“p:nth-child(2)”并无选择段落二,而是选择了段落一,从而没有达到须要的效果。
.post>p:nth-child(2){color:red;}/*第一个段落变成红色,不是咱们须要的效果*/
class
“nth-child(2)”选错了段落,但“p:nth-of-type(2)”却正常工做,选择仍是段落二,实现了想要的效果。
.post>p:nth-of-type(2){color:red;}/*第二个段落变成红色,是咱们须要的效果*/
方法