为了将包含透明文本图像的div设置为我文档中的最高z-index,我选择了数字10,000,它解决了我的问题.
以前我猜过3号但是没有效果.
那么,是否有更科学的方法来确定哪个z-index高于所有其他元素?
我试图在Firebug中寻找这个指标但却找不到它.
如果我在元素的z-index属性中添加负整数值,那么根据标准的预期效果是什么?
我搜索的答案,但只找到了这个:
https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
的"负值降低优先"不为我意味着什么.
今天,经过四个小时的调试,我很难学到了这个规则:
如果父级的z-index值为任何值,则无论您如何更改子级的CSS,父级元素都永远无法覆盖(堆叠在其子级元素之上)
我如何通过逻辑理解这种行为?规范在哪里覆盖?
代码(也在CodePen中):
.container {
width: 600px;
height: 600px;
background-color: salmon;
position: relative;
z-index: 99;
margin-top: 20px;
padding-top: 10px;
}
h1 {
background-color: pink;
position: relative;
z-index: -1;
font-family: monospace;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<h1>1. I can never be covered by parent if my z-index is positive.</h1>
<h1>2. Even when my z-index is nagative, I still can never be covered if my parent has any z-index at all.</h1>
</div>Run Code Online (Sandbox Code Playgroud)
我有一个带下拉菜单的固定顶部导航栏.我想在悬停时滑动下拉菜单.我希望菜单在滑动时位于导航栏后面.所以我只是尝试设置z-index两个元素,但遗憾的是这对我不起作用.
这是一个简化的例子(codepen)
HTML
<div class="fixed-top">
<span class="trigger">hover me</span>
<div class="menu"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.fixed-top {
background: #3b5999;
height: 50px;
width: 100%;
padding: 0;
top: 0;
position: fixed;
z-index: 2;
}
.trigger {
z-index: 2;
font-size: 33px;
color: white;
margin-left: 50%;
}
.trigger:hover + .menu {
margin-top: 0;
}
.menu {
z-index: 1;
height: 300px;
background-color: #1c7754;
width: 400px;
margin: auto;
margin-top: -400px;
transition: all 0.75s ease-out;
}
Run Code Online (Sandbox Code Playgroud)
如果我不清楚我想在这里做一个简单的mspaint草图;)
我正在尝试有两列,一个是可以扩展并与另一列重叠的菜单.但是我使用了一个flex元素来包装这些列,我的菜单扩展到了另一个元素后面,即使有更大的元素z-index.
渲染是这样的:
.main {
font-family: 'Open Sans', Helvetica, sans-serif;
display: flex;
background-color: #99baef;
}
nav {
height: 100%;
width: 8em;
background-color: black;
z-index: 1;
}
.navbox {
box-sizing: border-box;
background-color: black;
color: white;
height: 4em;
width: 100%;
text-align: center;
line-height: 4em;
border-top: 1px dotted #99baef;
transition: all 1s;
}
.navbox:hover {
width: 130%;
border-top: none;
background-color: #4a77c4;
color: black;
}
.container {
padding: 1em;
}
a {text-decoration: inherit;}Run Code Online (Sandbox Code Playgroud)
<div class="main">
<div class="maincolumn">
<nav>
<a href="">
<div …Run Code Online (Sandbox Code Playgroud)当我z-index从中取出时,为什么红色div位于绿色div前面.wrapperRed?
感觉就像z-index是继承了链条.
如果我z-index将绿色div 更改为6,即使在删除第一句中描述的行后,它也会保留在红色div的前面.
.wrapperRed {
height: 200px;
width: 200px;
position: absolute;
z-index: 1; /* Why is the red div in front of the green one, if this z-index is deleted? */
}
.red {
position: absolute;
height: 100%;
width: 100%;
background-color: red;
z-index: 5;
}
.green {
height: 200px;
width: 200px;
background-color: green;
position: absolute;
top: 100px;
left: 100px;
z-index: 1;
}Run Code Online (Sandbox Code Playgroud)
<div class="wrapperRed">
<div class="red"></div>
</div>
<div class="green"></div>Run Code Online (Sandbox Code Playgroud)
我试图理解为什么这个例子中的蓝色 div 并不总是在上面?即为什么红色 div #2 位于蓝色孩子 1 的顶部。
body {
padding: 30px;
}
.red1 {
position: absolute;
z-index: 1;
width: 400px;
height: 200px;
background: red;
}
.red2 {
position: absolute;
z-index: 1;
width: 400px;
height: 200px;
top: 250px;
background: red;
}
.blue {
z-index: 9;
padding: 10px;
text-align: center;
color: white;
text-transform: uppercase;
position: absolute;
top: 100px;
left: 100px;
width: 150px;
height: 130px;
background: blue;
}Run Code Online (Sandbox Code Playgroud)
<div class="red1">
<div class="blue">
blue child 1
</div>
</div>
<div class="red2">
<div class="blue">
blue …Run Code Online (Sandbox Code Playgroud)当我偶然发现这个有趣的事实时,我正在处理我的代码:
z-index 不适用于固定元素,因此,固定元素将始终位于前面.
有没有办法将非固定元素放在固定元素的前面?
谢谢.
#fixed {
background-color: red;
width: 500px;
height: 500px;
position: fixed;
z-index: 0;
}
#normal {
background-color: blue;
width: 500px;
height: 500px;
z-index: 1;
}Run Code Online (Sandbox Code Playgroud)
<div id = 'fixed'> I'm Fixed </div>
<div id = 'normal'> I'm Normal </div>Run Code Online (Sandbox Code Playgroud)