我運行到IE7的z-index堆疊錯誤,但我不能找到一個方法來解決它。這裏有一個簡單的HTML測試用例:IE7 z-index堆棧錯誤 - 如何正確堆棧2個絕對定位元素?
<!doctype html />
<html>
<head>
</head>
<body>
<div style="position:relative; width:500px;">
<div style="position:absolute; top:0; left:30px; width:300px; height:30px; border:1px solid #ff0000;">
<p style="margin:0;">Menu</p>
<ul style="position:absolute; z-index:100; list-style:none; margin:0; padding:0; background-color:#fff; border:1px solid #0000ff;">
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
<li><a href="#">Menu Item</a></li>
</ul>
</div>
<div style="position:absolute; z-index:1; top:40px; width:500px; height:75px; background-color:#ccc;">
<p>Header</p>
</div>
</div>
</body>
</html>
在這個例子中,你會發現在頂層div中有兩個絕對定位的元素。第一個是菜單,第二個是標題。菜單項目堆疊不正確,並顯示在標題後面。
我讀過很多關於IE7的z-index錯誤的帖子,但我沒有發現任何東西,可以幫助我與此特定問題。謝謝!
'<!DOCTYPE HTML />'是不是一個有效的DOCTYPE。相反,使用'<!DOCTYPE html>'這應該阻止IE使用quirksmode。 – Zeta 2012-03-19 18:42:08