html - Z-index:使元素位于其父元素的兄弟元素之下

标签 html css z-index

想象一下这个 DOM:

<header>
    <h1> header </h1>
    <!-- other elements -->
    <nav>
        nav
    </nav>
</header>

<div>
    content
</div>

标题和导航都定位为固定。 内容 div 定位为 relative。 我需要按以下顺序(从上到下)创建一个带有 z-index 的堆栈:

  • 标题 *:not(nav)
  • 内容
  • 导航

我很难将 nav 放在底部(换句话说,在其父项的兄弟项下)。我在想所有标题的 child 都必须在其 sibling 之上或之下......这是对的吗?如果是这样,是否有针对这种情况的解决方法?

最佳答案

只有“定位”的内容,例如 position: absoluteposition: fixedposition: relative 才会遵守 z-索引。由于你的 HTML 是结构化的,你不能做你要求的,因为 parent / child 也受到尊重,所以 child 必须在 parent 中(它不能是完全不同的 z-index 与 parent ) .要做你想做的事,你必须将 navheader 中分离出来,然后它们每个都可以有自己的 z-index,一个在默认的零 z-index 内容上方,一个在下方。

关于html - Z-index:使元素位于其父元素的兄弟元素之下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429728/

相关文章:

html - 右对齐 flex 容器中的元素

java - 如何使用输入类型文本在页面加载时显示空数据表

css - 将内容居中,同时让背景触摸屏幕左侧,

javascript - 如何从jquery中的同一个类中获取值?

html - 图像和 div 的 Z 索引

html - w3c 标准是否允许相同的 z 索引

c# - 在 ASP.Net Core Web 应用程序中向 NavBar 添加下拉菜单( Bootstrap )

html - 如何更改 <div> block 的位置?

html - 为什么这个元素选择自己?

html - 如何将我的移动菜单置于内容之上?