我在正确理解 z-index 时遇到了问题。
请查看我为您创建的这个小提琴:http://jsfiddle.net/df3EL/
<div id="content">
1. Content
<div id="popup">
3. PopUp
</div>
</div>
<div id="footer">
2. Footer
</div>
我知道影响z-index的定位和不透明度。但是有了这个标记,无论我尝试什么,页脚都高于1
&amp; 3
或以下 - 从不介于两者之间。
有没有办法让订单(1,2,3)工作,而不更改html标记?
答案 0 :(得分:2)
z-index 继承自父元素
因此,如果您的1
元素的z-index为100,则您的3
元素不能超过全局范围中的该值。在本地范围内(在#content
元素内),z-index将基本上“重置”
为了让你的事情发挥作用,你需要更改HTML标记以使每个元素独立(因此它们可以在全局范围内具有顺序z-index)
答案 1 :(得分:2)
如果你想让popup成为悬停页脚,只需设置页脚和弹出窗口的索引:http://jsfiddle.net/df3EL/1/
div {
font-family: Verdana;
font-size: 11px;
padding: 20px;
}
div#content {
display: block;
height: 150px;
width: 250px;
background: #eee;
position: relative;
}
div#footer {
display: block;
height: 50px;
width: 250px;
background: #eeefc0;
position: relative;
left: 25px;
top: -25px;
z-index: 1;
}
div#popup {
display: block;
height: 140px;
width: 100px;
background: #C0C0EF;
position: relative;
left: 220px;
top: -5px;
z-index: 2;
}
答案 2 :(得分:1)
[http://jsfiddle.net/df3EL/3/][1]
删除除 div#popup 以外的所有z-index属性 它应该在现代浏览器中工作(假设ie9 +,chrome,opera,FF)
但更合乎逻辑的方法是在 #footer 之后移动 #popup (可能需要在显示弹出窗口时使用javascript)
答案 3 :(得分:0)
您已使用position:relative
div#footer
和div#popup
。将其更改为position: absolute
并更改vaules top, bottom, left,right
以获得所需的结果。
这样您就不必更改html结构。