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

如何修复details标签中嵌套分组符号显示异常的问题

问题原因

你当前使用的CSS选择器没有限制匹配层级,只要父级details处于open状态,就会命中所有嵌套层级下的summary元素,导致折叠状态的子分组符号也被错误覆盖为-。

解决方案

调整CSS选择器,使用直接子匹配符>,让符号规则仅作用于自身处于展开状态的details对应的summary:

/* 隐藏默认的系统箭头样式 */
.treeHTML summary {
  list-style: none;
}
.treeHTML summary::-webkit-details-marker {
  display: none;
}

/* 折叠状态默认显示+ */
.treeHTML details > summary::before {
  content: '+';
  display: inline-block;
  width: 1em;
  margin-right: 4px;
}

/* 仅自身展开时显示-,不受父级展开状态影响 */
.treeHTML details[open] > summary::before {
  content: '-';
}

你提供的对应HTML结构如下:

<div class="treeHTML">Root
  <div>level 1
    <details><summary></summary>
      <div >level 2
        <details><summary></summary>
          <div >
            level 3
          </div>
        </details>
      </div>
    </details>
  </div>
</div>

修改后每个分组的符号只会跟随自身的折叠状态变化,父级展开不会影响子折叠分组的符号显示。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 04:48:01