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

元素重叠无视z-index问题求助:左侧菜单被主内容元素覆盖

解决侧边菜单被主内容元素覆盖的问题

问题核心是堆叠上下文的冲突:

  • .content 设置了 position: relative,成为绝对定位的 .sidebar 的包含块
  • .page 作为 flex 子元素,加上 overflow-y: auto 属性后,会自动创建一个独立的堆叠上下文
  • DOM 结构里 .page 排在 .sidebar 之后,默认堆叠顺序更高,导致它的子元素(比如搜索框)会覆盖在侧边菜单之上

修复方案

最简单的解决方式是给 .sidebar 设置一个明确的 z-index 值,让它的堆叠层级高于 .page:

.sidebar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: black;
  color: white;
  z-index: 10; /* 数值只要大于默认的0即可 */
}

原理说明

当元素创建了独立的堆叠上下文后,内部元素的层级只在该上下文内生效。.sidebar 属于 .content 的堆叠上下文,而 .page 是另一个同级的堆叠上下文。通过给 .sidebar 设置更高的 z-index,就能让它在堆叠顺序上优先于 .page 及其所有子元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:17:35