我遇到了一个非常烦人的错误,它似乎只发生在 Windows 和 OS X 上:父元素位置固定的元素的 z-index 在 Chrome 上不起作用!我将我的奇怪情况转换为一个简单的代码:
html:
<div id="mask">
</div>
<div id="box">
<div class="below-mask circle">
should be below the mask
</div>
<div class="above-mask circle">
should be above the mask
</div>
</div>
CSS:
body {
font-family: Verdana;
font-size: 9px;
margin: 0px;
}
#box {
position: fixed;
}
#mask {
position: absolute;
left: 0px;
top: 0px;
background-color: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100%;
z-index: 9998;
}
.circle {
position: relative;
background-color: rgba(255, 204, 0, 0.75);
border-radius: 75px;
line-height: 150px;
margin: 50px;
text-align: center;
width: 150px;
height: 150px;
}
.above-mask {
z-index: 9999;
}
.below-mask {
z-index: 9997;
}
沙盒:http: //jsfiddle.net/gibatronic/umbgp/
我在 OS X 和 Windows 上的 Internet Explorer 9、Firefox 15、Opera 12.02 和 Safari 5.1.7 上进行了测试,所有这些都按预期显示。我还在 Ubuntu 12.10 上进行了测试,它适用于包括 Chrome 在内的所有浏览器!我什至在 Kindle 4 浏览器上进行了测试,它工作正常!
我想知道是否有人知道解决此问题的任何方法!