css - z-index 不适用于我的下拉菜单

标签 css z-index

<分区>

我有一个导航栏,下拉菜单是绝对定位的,但出于某种原因,它们仍然出现在所有其他定位元素的后面,无论 z-index 是什么。这使得菜单既难看又难以在带有定位项的页面上使用。 Here is a codepen显示我的导航栏和它遇到的问题。有谁知道出了什么问题吗?

这是我的 css 的一小部分,因为我认为您不希望我的问题中有完整的 150 行代码:

header nav ul li ul {
    background-color: #00242b;
    transition: opacity 400ms ease-in;
    opacity: 0;
    position: absolute;
    height: 0px;
    z-index: 1000000000; /* why wont this work? */
    overflow: auto;
    transform: translate(0px, 0px);
    overflow: auto;
}
#absolute { /* this is on top despite the lower z-index */
    position: absolute;
    width: 80px;
    height: 40px;
    background-color: red;
    z-index: 0;
    left: 20px;
    top: 80px;
}

最佳答案

您的 nav 元素有 position: sticky; 但没有任何 z-index。这意味着位于其中的任何内容都将根据该 nav 父级定位自己。如果您向该 nav 元素添加一个高于页面上任何其他元素的 z-index 数字,您的导航将按您预期的方式运行。

使用您的示例,红色框具有 z-index: 1;。如果您将 z-index: 2; 添加到 nav 元素,那么您的整个导航将位于其上方。

一旦此修复到位,就不需要对 nav 的任何子元素进行 z 索引,因为父元素已经位于页面上的所有其他元素之上。

关于css - z-index 不适用于我的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57583548/

相关文章:

html - ul 类未与网站 Logo 内联

image - CSS 中从顶部 0% 到底部 100% 的透明(不透明度)图像

c# - Wpf 置于最前面

html - HTML/CSS 漏斗堆栈的背景颜色

jquery - 如何将类应用到 div 上进行动画处理

javascript - setTimeout() 似乎不起作用

html - 以图像的响应高度划分图像,bootstrap 4.3.1

javascript, css, z-index, div 堆叠

css - Foundation 5 CSS Z-index 顶部栏下拉菜单问题

ios更改 subview 索引运行时