CSS :nth-child() 伪类根据元素在其父元素的子元素中的位置来选择元素。:nth-child() 伪类接受一个参数,该参数可以是数字、关键字或数学表达式。
语法
CSS 使用 :nth-child() 伪类时,子元素计数包括任何元素类型的所有同级子元素,但只会选择与选择器的其他组件匹配的元素。
可能的值
- 奇数 - 此值选择所有奇数的子元素,例如 1,3,5..等。
- 偶数 − 此值选择所有偶数子元素,例如 2、4、6 等。
- 函数表示法 (<an+b>) − 此值从其父容器中选择每个 an+b 子元素,其中“a”是正整数,“n”是从 0 开始的计数器变量。“b”是另一个正整数。
下表描述了 CSS 选择器的列表及其说明:
选择器 | 描述 |
---|---|
tr:nth-child(odd) or tr:nth-last-child(2n+1) | HTML 表中的所有奇数行。 |
tr:nth-child(even) or tr:nth-last-child(2n) | HTML 表中的所有偶数行。 |
:nth-child(7) | 选择第七个元素。 |
:nth-child(5n) | 选择 5 的倍数元素,例如第 5 个、第 10 个、第 15 个等。 |
:nth-child(n+6) | 选择从第六个元素开始的所有元素。 |
:nth-child(3n+4) | 选择 3 加 4 的倍数元素,例如第 4 个、第 7 个、第 10 个、第 13 个等。 |
:nth-child(-n+3) | 选择前三个元素。 |
p:nth-child(n) | 选择同级组中的所有 <p> 元素。 |
p:nth-child(1) or p:nth-child(0n+1) | 选择属于其父元素的第一个子元素的所有 <p> 元素。 |
p:nth-child(n+8):nth-child(-n+15) | 选择一组同级元素的第 8 到第 15 个 <p> 个元素。 |
CSS :nth-child() 示例
下面是如何仅选择段落元素并设置其样式的示例 -
CSS :nth-child() - 列表示例
下面是一个示例,说明如何在 ol 列表中设置 li 元素的样式 -
CSS :nth-child() - <选择器>
带有 of <selector> 元素的 伪类 :nth-child() 的语法如下:
将选择器 li.fruits 移到函数外部将选择具有 fruits 类的所有 li 元素,无论它们在子元素列表中的位置如何。
下面是一个如何使用 :nth-child(even of .fruits) 伪类的示例。这将选择 .fruits 元素的所有偶数子元素 -
CSS :nth-child() - <选择器>与<选择器>第 n 个子
下面是一个示例,说明如何使用 :nth-child() 伪类根据元素在兄弟姐妹中的位置来选择元素,相对于另一个元素 -
CSS :nth-child() - 用于修复表条的选择器
下面是一个示例,说明如何使用 :nth-child() 伪类来设置表中偶数行的样式,即使某些行是隐藏的 -