这个问题已经在这里有一个答案:
p:nth-child(1) {
color: red;
}
p:first-child {
color: red;
}
<div>
<p>first</p>
<p>second</p>
</div>
其伪选择最好的段落标记应用颜色代码
双方将匹配相同的元素。在页面中无差异:同样的特异性,同样的行为。
:first-child
是比较容易理解的人,是一个很好的补充我们人类的一般:nth-child(an+b)
nth-child(1)
是容易被编程写入/生成。无需在预处理代码添加一个条件来测试“如果它比输出选择:first-child
否则输出:nth-child(your variable)
等于1”。
它也显然有以及存在的任何其他任意值2,213,等等。
编辑:FWIW :first-letter
和:first-line
之前,这些伪类已经存在,它会一直怪/恼人不要有:first-child
:nth-child(an+b)
创建时:)
基本上是相同的,它做相同的工作,但是:nth-child
为您提供了更多的空间体验。
例如
@for $i from 1 through 6 {
.element:nth-child(#{$i}n) {
animation-delay: #{$i * 0.05}s;
}
}
你可以迭代,然后动态地使用它来选择儿童。当然,你需要一个预处理来做到这一点(qazxsw POI)