IE7 Z-Index 分層問題:堆疊上下文困境
Z-index 是CSS 屬性,允許HTML 元素分層在網頁上。然而,Internet Explorer 7 (IE7) 在 z-index 分層方面表現出不尋常的行為。
在這種情況下,開發人員在 UL 清單上設定了高 z-index (1000),意圖使其與 div 重疊。然而,div 在 UL 前面仍然可見。問題在於 IE7 對堆疊上下文的解釋。
堆疊上下文是在瀏覽器渲染過程中建立的獨立圖層,其中 z-index 值在每個上下文中單獨計算。 IE7 將沒有明確 z-index 的定位元素解釋為建立新的堆疊上下文,即使 CSS 規格另有規定。
要解決此問題,請為定位的span 元素添加顯式z-index 值:
#envelope-1 { position: relative; z-index: 1; }
這將為跨度創建一個新的堆疊上下文,並確保UL 列表與div重疊,如下所示
或者,重新設計文件以避免在跨度上使用position:relative,因為這會強制創建單獨的堆疊上下文:
<div> <label>Input #1:</label> <input> <ul> <li>item</li> <li>item</li> <li>item</li> <li>item</li> </ul> </div>
透過理解堆疊上下文的概念和他們在IE7 中的解釋使開發人員可以有效地控制元素的分層,即使面臨瀏覽器特定的不一致也是如此。
以上是為什麼我的 Z 索引在 Internet Explorer 7 中不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!