:nth-child(odd)用于选中父元素下奇数位置的子元素,常配合even实现条纹背景,提升可读性,适用于列表、表格等场景,需注意子元素顺序和类型对选择的影响。

使用 :nth-child(odd) 选择器可以轻松为列表中的奇数项设置样式,常用于实现条纹效果,提升内容可读性。这个伪类会匹配父元素下索引为奇数的子元素(1、3、5…),从而让你针对性地添加背景色或其他样式。
基本语法与用法
在 CSS 中,:nth-child(odd) 的写法如下:
li:nth-child(odd) {
background-color: #f0f0f0;
}
这段代码会让所有位于奇数位置的 li 元素拥有浅灰色背景。注意:这里的“奇数”是从 1 开始计数的,即第一个元素是奇数项。实现条纹列表效果
条纹效果通常通过交替设置背景色实现。除了 odd,还可以配合 even 使用:
/* 奇数行设浅灰 */
li:nth-child(odd) {
background-color: #eef5f9;
}
/ 偶数行设白色(可选) /
li:nth-child(even) {
background-color: #ffffff;
}
这样就能形成清晰的隔行变色效果,适用于表格、菜单或文章列表等场景。适用范围与注意事项
:nth-child(odd) 不仅可用于列表,也能作用于表格行(tr)、网格项、卡片容器等。但需注意以下几点:- 该选择器基于父元素的所有子元素排序,若中间夹杂其他类型标签(如标题、分隔线),可能影响匹配结果
- 确保目标元素是同级子元素,且顺序连续,避免样式错乱
- 可搭配类名提高精确度,例如 .list-item:nth-child(odd)
基本上就这些,掌握 odd 和 even 的搭配使用,能快速实现简洁美观的条纹布局,不复杂但容易忽略细节。










