首頁 > web前端 > css教學 > 為什麼我的 Div 堆疊順序在 IE6 和 7 中表現不同?

為什麼我的 Div 堆疊順序在 IE6 和 7 中表現不同?

Patricia Arquette
發布: 2024-12-01 10:08:08
原創
687 人瀏覽過

Why Does My Div Stacking Order Behave Differently in IE6 and 7?

Internet Explorer 6 和7 Z-Index 問題

問題:
在包含兩個的網頁中divs, div#sign-post 應出現在div#bottom 上方,但這僅發生在Internet Explorer (IE) 以外的瀏覽器中6 和 7。此外,IE6 在 div#bottom 的頂部顯示了額外的 198 個像素。

解決方案:

了解IE6 中的Z-Index/ 7

在大多數瀏覽器中,z -index 屬性允許元素根據分配的值堆疊在其他人的上方或下方。然而,在 IE6 和 7 中,無論 z-index 值如何,定位元素都會建立新的堆疊上下文。

問題

在這種情況下,div#sign-post 有z-index 比div#bottom 更高,但IE6/7 會比較其父級的堆疊上下文,在IE 中,父級的堆疊上下文是由定位元素本身所建立的。由於 div#sign-post 和 div#bottom 都沒有明確設定 z-index 值,因此文件順序決定了它們的堆疊,導致 div#bottom 出現在頂部。

解決方法:

要解決此問題,需要將 z-index 值分配給受影響的祖先的定位元素。

  1. 辨識建立堆疊上下文的定位祖先。
  2. 使用 JavaScript 或 CSS 為這些祖先分配高 z 索引,強制實作所需的堆疊順序。

例如,如果 div#parent 包含 div#sign-post,則為 div#parent 指定 z-index 1000將其放置在 div#bottom 上方。

額外的 IE6 問題

IE6 中 div#bottom 頂部額外的 198 像素是由於其內部計算預設保證金。這個問題可以透過明確設定 div#bottom 的邊距為 0px 來解決。

以上是為什麼我的 Div 堆疊順序在 IE6 和 7 中表現不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板