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

CSS直接子选择器未按预期生效的原因是什么?

为什么直接子选择器ul > li会让子列表的列表项也变灰?

你写的ul > li确实精准选中了<ul>的直接子元素<li>(也就是List Item 1、2、3、4),并给它们设置了color: gray。问题出在CSS的继承特性上:

  • color是可继承的CSS属性,当你给父元素(这里是包含<ol>的那个<li>)设置颜色后,它内部的所有子元素(包括<ol>里的<li>)都会自动继承这个颜色值,所以子列表的项也跟着变成了灰色。

解决办法

你可以通过重置子列表项的颜色来修正这个问题,比如:

/* 给ul的直接子li设置灰色 */
ul > li {
  color: gray;
}
/* 重置ol下的li为默认文本颜色 */
ul > li ol li {
  color: black;
}

或者使用initial关键字直接恢复浏览器默认值,不用硬写颜色:

ul > li {
  color: gray;
}
ul ol li {
  color: initial;
}

内容的提问来源于stack exchange,提问作者Alex Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:20:03