结构伪类 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 以下的版本n和1n的匹配方式不一致。1n和1n+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...的元素。
a 和 b 都必须为整数,并且元素的第一个子元素的下标为 1。换言之就是,该伪类匹配所有下标在集合 { an + b; n = 0, 1, 2, ...} 中的子元素。另外需要特别注意的是,an 必须写在 b 的前面,不能写成 b+an 的形式。