我一直在與一個項目上的Z索引問題作鬥爭,並且我注意到現代瀏覽器會觸發浮動元素上的z-index行爲,以及元素有位置:相對或絕對。 這似乎違背了W3C規範的規定:z-index爲浮動元素觸發
「適用於:元素與類型的‘絕對’或‘相對’的‘位置’屬性」
這是一個測試案例:
CSS:
#tabContent{
border:1px solid #ccc;
padding:15px;
margin-top:-1px;
margin-bottom: 1.5em;
background: #fff;
}
p.tabHolder {
overflow: hidden;
height: 1%;
margin: 14px 0 0px 0;
}
p.tabHolder a {
display: block;
margin:0 2px 0 0;
padding: 6px 11px;
float: left;
background: #eee;
border:1px solid #bbb;
}
p.tabHolder a.active {
background-color: #fff;
border-bottom-width:0px;
color:#333;
padding-top: 7px;
z-index: 100;
}
HTML:
<p class="tabHolder">
<a class="active" href="#">Foo</a>
<a href="#">Bar</a>
</p>
<div id="tabContent">
<p>Lorem ipsum</p>
</div>
如果您在IE8中加載並切換兼容性視圖按鈕,您將看到在IE8中z-index有效,但在IE-7中不會。
任何人都可以解釋這一點嗎?
絕對。我只是感到驚訝,IE8,Chrome和Firefox都似乎與規範相矛盾。 – benb 2010-11-05 12:25:51