使用li:not(:first-child)可设置非首项文字颜色,如color:#888;复杂结构可加类名限定,或用:nth-child(n+2)替代,确保样式精准生效。

要设置CSS列表中非首项的文字颜色,可以使用 :not(:first-child) 伪类选择器配合 color 属性来实现。这种方法简洁高效,适用于无序列表(ul)或有序列表(ol)。
使用 :not(:first-child) 选择非首项
通过组合 :not() 和 :first-child,可以精准选中除了第一个列表项之外的所有项。
示例代码:
- 第一项
- 第二项
- 第三项
CSS 设置:
li:not(:first-child) {
color: #888;
}
这样,只有第一项保持默认颜色,其余项文字变为灰色。
立即学习“前端免费学习笔记(深入)”;
更灵活的选择方式
如果你的列表结构较复杂(比如包含嵌套列表),建议限定作用范围,避免样式污染。
可以给 ul 加类名,然后针对性设置:
.my-list li:not(:first-child) {
color: #666;
}
这样只对指定类的列表生效,更安全可控。
替代方案:使用 :nth-child(n+2)
另一种等效写法是使用 :nth-child,从第二个元素开始选中:
li:nth-child(n+2) {
color: #777;
}
效果与 :not(:first-child) 相同,可根据习惯选择写法。
基本上就这些。用 li:not(:first-child) 配合 color 是最直观的方式,适合大多数场景。不复杂但容易忽略细节。










