使用:nth-child(n)可选父元素下第n个子元素,如p:nth-child(2)选第二个子元素且为p标签;而p:nth-of-type(2)则选所有p中的第二个,忽略其他标签;常用场景包括奇偶行着色tr:nth-child(even)、选前3个li:nth-child(-n+3)及每5个div加间距div:nth-child(5n);注意:nth-child按所有子元素定位,:nth-of-type仅按同类型标签排序。

在CSS中,选择第n个子元素主要使用 :nth-child(n) 伪类选择器。它可以根据元素在父容器中的位置来选中特定的子元素。
1. 使用 :nth-child(n) 选择第n个子元素
这个选择器会匹配父元素下第n个位置的子元素,不管它的标签类型。
例如:-
p:nth-child(2):选中父元素中第二个子元素,且该元素是
标签。
-
div:nth-child(3):选中作为父元素第三个子元素的 。
如果只想选中某个类型的第n个元素,可以结合标签名使用。
2. 使用 :nth-of-type(n) 精确选择同类型元素
当你想选中某一类型(如所有 p 元素)中的第n个时,使用 :nth-of-type(n) 更准确。
立即学习“前端免费学习笔记(深入)”;
例如:-
p:nth-of-type(2):选中所有
标签中的第二个。
- 即使前面有其他标签(如 div、span),只要它是第2个 p,就会被选中。
3. 常见用法示例
以下是一些实用场景:
-
奇数行/偶数行着色:
tr:nth-child(even) { background: #f2f2f2; } -
选择前3个元素:
li:nth-child(-n+3) { color: red; } -
每5个元素选一次:
div:nth-child(5n) { margin-top: 20px; }
4. 注意事项
区分 :nth-child 和 :nth-of-type 很关键:
- :nth-child 是基于所有子元素的位置。
- :nth-of-type 只计算相同标签类型的元素顺序。
基本上就这些,根据实际结构选择合适的方式即可。不复杂但容易忽略细节。
-
p:nth-of-type(2):选中所有










