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

如何选择含直接子元素ul的li并移除其列表样式?

解决嵌套列表中含子ul的li项目符号重复问题

你的问题是嵌套列表里,那些直接包含子ul的li会显示项目符号,和子li的符号叠在一起,想要隐藏这类li的符号。你之前尝试的反向选择器ul < li并不存在,这里给你两个可行方案:

方案1:使用CSS :has()伪类(推荐,现代浏览器支持)

这是最直接的方法,:has()伪类可以精准选中包含直接子元素ul的li,直接去掉它的项目符号:

li:has(> ul) {
  list-style-type: none;
}

这个选择器的意思是:所有直接包含ul子元素的li元素,都会被应用list-style-type: none,从而隐藏自身的项目符号,只保留子列表的符号。

方案2:手动添加类名(兼容性更好)

如果需要兼容不支持:has()的旧浏览器,可以给这类包含子ul的li手动添加类名,比如has-submenu:

修改后的HTML:

<ul>
  <li>1...</li>
  <li>2...</li>
  <li id="li_3" class="has-submenu">
    <ul>
      <li id="li_3_1">3.1...</li>
    </ul>
  </li>
  <li>4...</li>
</ul>

对应的CSS:

li.has-submenu {
  list-style-type: none;
}

这种方法兼容性拉满,适合需要适配旧版浏览器的场景。

内容的提问来源于stack exchange,提问作者Gaetan L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:45:24