我无法理解为什么这个z-index在我的页面上不起作用。
以下是一个工作示例:https://jsfiddle.net/daeyqv31/
#login_modal_wrapper {
background: #eee;
background: red;/*rgba(0,0,0,0.7);*/
width: 100%; height: 100%;
position: fixed; top: 0; left: 0;
z-index: 10003;
}
#login_modal {
z-index: 10002;
background: #eee;
border: 2px solid #092834;
border: 2px solid rgba(9,40,52,0.6);
border-radius: 20px;
width: 700px;
height: 240px;
position: fixed;
top: 50%;
left: 50%;
margin-left: -350px;
margin-top: -120px;
}
#login_modal_wrapper.over {
z-index: 100003; // this needs to go OVER login_modal
}
#ajax_spinner {
width: 34px;
height: 34px;
position: fixed;
top: 50%;
left: 50%;
margin-left: -17px;
margin-top: -17px;
z-index: 200000;
}
然而,我还希望能够强制#login_modal_wrapper
div去 OVER #login_modal
。所以,我有这个(只是一个基本的例子);
https://jsfiddle.net/daeyqv31/1/
所以这个:
<div id="ajax_spinner">
loading icon
</div>
<div id="login_modal_wrapper">
<div id="login_modal"></div>
</div>
变为:
<div id="ajax_spinner">
loading icon
</div>
<div id="login_modal_wrapper" class="over">
<div id="login_modal"></div>
</div>
...但z-index似乎没有被尊重(它仍然显示在{1}}顶部,而它实际上应该落后于#login_modal
更新如下面所述,无法将更高 z-index应用于父级div。为了解决这个问题,我只是略微摇晃了一下HTML:
#login_modal_wrapper
这现在完全符合预期:)
答案 0 :(得分:2)
由于#login_modal_wrapper
包含其他<div>
元素,z-index
无效。你可以尝试:
<div id="login_modal_wrapper">
<div class="div-above"></div>
<div id="ajax_spinner">
loading icon
</div>
<div id="login_modal"></div>
</div>
CSS:
.div-above {
width: 100%;
height: 100%;
background: blue;
position:fixed;
z-index: 10;
}