CSS :nth-of-type() 伪类

定义和用法

CSS :nth-of-type(n) 伪类用于匹配作为其父元素中同类型(标签名)的第 n 个子元素的每个元素。

n 可以是一个数字/索引、一个关键字(oddeven)或一个公式(如 an + b)。

提示:查看 :nth-child() 伪类以选择作为其父元素中第 n 个子元素的元素,无论其类型如何。

实例

例子 1

如何使用 :nth-of-type() 选择器:

/* 选择 div 兄弟元素中的第二个元素 */
div:nth-of-type(2) {
  background: red;
}

/* 选择列表中的第二个 li 元素 */
li:nth-of-type(2) {
  background: lightgreen;
}

/* 选择任何兄弟元素组中的每第三个元素 */
:nth-of-type(3) {
  background: yellow;
}

亲自试一试

例子 2

oddeven 是关键字,可用于匹配索引为奇数或偶数的子元素(第一个子元素的索引为 1)。

在这里,我们为奇数索引和偶数索引的 <p> 元素指定不同的背景颜色:

p:nth-of-type(odd) {
  background: red;
}

p:nth-of-type(even) {
  background: blue;
}

亲自试一试

例子 3

使用公式(an + b)。描述:a 表示整数步长,n 是从 0 开始的所有非负整数,b 是整数偏移量。

在这里,我们为索引是 3 的倍数的所有 <p> 元素指定背景颜色(将选择第三个、第六个、第九个等元素):

p:nth-of-type(3n+0) {
  background: red;
}

亲自试一试

例子 4

在这里,我们为索引是 3 的倍数的所有 <p> 元素指定背景颜色。然后我们减去 1(将选择第二个、第五个、第八个等元素):

p:nth-of-type(3n-1) {
  background: red;
}

亲自试一试

CSS 语法

:nth-of-type(index | odd | even | an+b) {
  css declarations;
}

技术细节

版本: CSS3

浏览器支持

表格中的数字指定了完全支持该伪类的首个浏览器版本。

Chrome Edge Firefox Safari Opera
4.0 9.0 3.5 3.2 9.6