Skip to main content

结构伪类 nth-child

  • :nth-child(1)

    • 是父元素中的第 1 个子元素
  • :nth-child(2n)

    • n 代表任意正整数和 0
    • 是父元素中的第偶数个子元素(第 2、4、6、8......个)
    • :nth-child(even) 同义
  • :nth-child(2n + 1)

    • n 代表任意正整数和 0
    • 是父元素中的第奇数个子元素(第 1、3、5、7......个)
    • :nth-child(odd) 同义
  • :nth-child(-n + 2)

    • 代表前 2 个子元素

:nth-child(an+b) 这个 CSS 伪类首先找到所有当前元素的兄弟元素,然后按照位置先后顺序从 1 开始排序,选择的结果为 CSS 伪类 :nth-child 括号中表达式(an+b)匹配到的元素集合(n=0,1,2,3...)。示例:

  • 0n+3 或简单的 3 匹配第三个元素。
  • 1n+0 或简单的 n 匹配每个元素。(兼容性提醒:在 Android 浏览器 4.3 以下的版本 n1n 的匹配方式不一致。1n1n+0 是一致的,可根据喜好任选其一来使用。)
  • 2n+0 或简单的 2n 匹配位置为 2、4、6、8...的元素(n=0 时,2n+0=0,第 0 个元素不存在,因为是从 1 开始排序)。你可以使用关键字 even 来替换此表达式。
  • 2n+1 匹配位置为 1、3、5、7...的元素。你可以使用关键字 odd 来替换此表达式。
  • 3n+4 匹配位置为 4、7、10、13...的元素。

ab 都必须为整数,并且元素的第一个子元素的下标为 1。换言之就是,该伪类匹配所有下标在集合 { an + b; n = 0, 1, 2, ...} 中的子元素。另外需要特别注意的是,an 必须写在 b 的前面,不能写成 b+an 的形式。


Loading Github Gist ...
Details