You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让带逗号的CSS伪类选择器生效?

问题原因及解决办法

你的逗号位置没问题,问题出在选择器的逻辑上。

你写的两个选择器分别是:

  • ul > li:not(:first-child):选中列表里除第一个之外的所有li
  • ul > li:not(:last-child):选中列表里除最后一个之外的所有li

用逗号分隔后,这两个选择器的范围叠加起来会覆盖所有li元素——第一个li会被第二个选择器选中,最后一个li会被第一个选择器选中,中间的li更是同时被两个选择器命中,所以所有li都会变成水绿色。

如果你的需求是只给除了第一个和最后一个之外的li设置样式,应该把两个伪类连在一起写,不需要逗号:

ul > li:not(:first-child):not(:last-child) {
  color: aqua;
}

要是你确实想给“非第一个”和“非最后一个”的元素(也就是所有li)设置样式,那原来的代码其实是生效的,可能是其他CSS规则优先级更高覆盖了这个样式,你可以检查一下是否有更具体的选择器,或者临时加!important测试(不推荐长期使用)。

内容的提问来源于stack exchange,提问作者Максим

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 06:22:06