到新地方有些日子了,差不多適應了這邊的工作節奏與流程。接到的第一個開發任務是幾個比較簡單的頁面,需要做的工作就是先把設計圖變成頁面,然后使用PHP創建幾個請求的接口傳遞數據,標準且簡潔的web開發思路。可是真有些日子沒有寫DIV+CSS了,而且對IE6兼容性的坑碰到的還是不夠多(以前做國外項目),所以這次開發中不可避免的碰見了幾個問題,尤其是在IE下的 z-index 問題很有意思,所以整理了一些資料和總結分享給大家…注:因為引入了jsfiddle,所以頁面加載受影響會稍慢一些^_^
閱讀目錄:
z-index屬性
z-index規范參考
在IE下出現的問題
在IE6下z-index的問題
>拼爹的時代
>萬惡的float
IE6下 select z-index無效而遮擋div
>用 iframe 包裹 select 元素
>以 Iframe 作為div的子元素,覆蓋 select 元素
本文結語
z-index屬性
z-index : auto | numberz-index 屬性設置元素的堆疊順序,如果為正數,則離用戶更近,為負數則表示離用戶更遠;擁有更高堆疊順序的元素總是會處于堆疊順序較低的元素的前面;z-index 僅能在定位元素上奏效(position 屬性值為 relative 或 absolute 或 fixed的對象)。
z-index規范參考
在 W3C CSS2.1 規范中,每個元素都具有三維的空間位置,除我們所熟悉的水平和垂直位置外,元素還可在 "Z軸" 方向上層層相疊、依次向前排開; 元素在 "Z 軸" 方向上的呈現順序,由層疊上下文和層疊級別決定。在文檔中,每個元素僅屬于一個層疊上下文。在給定的層疊上下文中,每個元素都有一個整型的層疊級別,它描述了在相同層疊上下文中元素在 "Z軸" 上的顯示順序;同一個層疊上下文中,層疊級別大的顯示在上,層疊級別小的顯示在下,相同層疊級別時,遵循后來居上的原則(back-to-font);不同層疊上下文中,元素顯示順序以父級層疊上下文的層疊級別來決定顯示的先后順序。與自身的層疊級別無關;每一個定位元素都歸屬于一個stacking context。根元素形成 root stacking context,而其他的 stacking context 則由定位元素產生(此定位元素的 z-index 被定義一個非 auto 的 z-index 值),定位子元素會以這個 local stacking context 為參考,用相同的規則來決定層疊順序;當任何一個元素層疊另一個包含在不同 stacking context 元素時,則會以 stacking context 的層疊級別(stack level)來決定顯示的先后情況。也就是說,在相同的 stacking context 下才會用元素本身的 z-index 來決定先后,不同時則由 stacking context 的父元素的 z-index 來決定。
新聞熱點
疑難解答