日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ie下的css層疊z-index各種問題詳細整理( 二 )


另 , 在同一根層疊上下文中 , 同為 z-index:auto 的定位元素【p1】和【p3】 , 它們的層疊級別相同 , 但【p3】在【p1】之后 , 所以在 Z 軸上【p3】比【p1】靠前顯示 , 又 , 【p2】層疊上下文的層疊級別為正數(shù) , 所以【p2】的層疊級別要比【p3】高 。因此 , 它們在 Z 軸上的順序為:(遵循 back-to-font)【p1】 - 【p3】 - 【p2】
以上為標(biāo)準(zhǔn)瀏覽器下的情況 。
而在 IE6 IE7 E8(Q) 下 , 定位元素【p1】和【p3】都創(chuàng)建了新的局部層疊上下文 , 在同一根層疊上下文中 , 它們的層疊級別相同 , 但【p3】在【p1】之后 , 所以在 Z 軸上【p3】比【p1】靠前顯示 。此時 , 由于【p2】處于【p1】的層疊上下文中 , 所以【p2】在 Z 軸上要比【p3】靠后 。
在來一個例子:

復(fù)制代碼代碼如下:
style
.parent{width:200px; height:200px; padding:10px;}
.sub{text-align:right; font:15px Verdana;width:100px; height:100px;}
.lt50{left:50px;top:50px;}
/style
div style="position:absolute; background:lightgrey;" class="parent"
div style="position:absolute;z-index:20;background:darkgray;" class="sub"20/div
div style="position:absolute;z-index:10;background:dimgray;" class="sub lt50"10/div
/div
div style="position:absolute;left:80px;top:80px;background:black;" class="parent"
div style="position:absolute;z-index:2;background:darkgray;" class="sub"2/div
div style="position:absolute;z-index:1;background:dimgray;" class="sub lt50"1/div
/div

ie下的css層疊z-index各種問題詳細整理


解決辦法
理解層疊上下文、層疊級別與 ’z-index’ 之間的關(guān)系 。在可能出現(xiàn)定位元素相互覆蓋的情況時 , 明確指定定位元素的 ’z-index’ 特性 , 避免此問題的出現(xiàn) 。
注:此段內(nèi)容基本都是來自w3help 。
在IE6下z-index的問題
我不是一個喜歡抱怨的人 , so...有關(guān)抱怨IE6的話在此省略500字...
先上個圖說說我在工作中實際遇到的問題:
ie下的css層疊z-index各種問題詳細整理


圖片的上半部分就是在非IE6下的交互 , 圖片下半部分是在IE6下的顯示效果 , 當(dāng)打開虛擬機測試的時候我表示瞬間碉堡了 , 囧...在IE6下這個tips被蓋住了 , 很明顯這個不是我想要的效果 , 可是為什么會出現(xiàn)這個情況類?接著往下看 。
分析此類問題的原因:
1.這是個拼爹的時代 , 在IE6下很好的體現(xiàn)了這點...囧
按照正常的思維 , z-index層級越高 , 內(nèi)容越應(yīng)該在上面顯示 , 在大部分的瀏覽器在大部分的情況下 , 確實如此 , 但是不絕對 。尤其遇到IE6 。
在IE6下的層級高低不僅要看本身 , 還要看自己的父元素是否給力:父元素的 position 屬性為 relative或absolute 時 , 子元素的 absolute 屬性是相對于父元素而言的 。而在IE6下的層級的表現(xiàn)有時候不是看子元素的 z-index 多高 , 而要看它們的父元素的 z-index 誰高誰低 。點擊 Result 可以看到HTML對應(yīng)的VIEW 。
從以上的代碼中可以看到最內(nèi)層div的z-index屬性為999 , 其父元素的z-index屬性為100 。按照正常的顯示邏輯 , 圖片應(yīng)該正常顯示且不會被背景色所影響 , 可是在IE6下會有問題 , 直接上圖片會比較直觀 , 比較看看IE6下和非IE6瀏覽器的顯示效果 。chrome、FF和opera都經(jīng)過測試了 , 為了不使圖片過多我就拿個chrome的截圖吧 。
ie下的css層疊z-index各種問題詳細整理


重現(xiàn)這個bug的條件很簡單 , 只要絕對定位(position:absolute)div的祖先元素 , 或者說是最頂級的祖先元素的 relative 屬性小于黑色半透明層的z-index層級即可 。解決辦法也很簡單 , 只需要給的祖先元素加上z-index就可以 。

推薦閱讀