詳細(xì)分析 ie7下z-index失效問題解決方法
解決辦法:
父級(jí)元素加上position:relative;并設(shè)置z-index.
父級(jí)元素的z-index優(yōu)先,其中包含的元素的z-index是相對于父級(jí)元素的index.
div style=position:relative;z-index=2
p style=position:absolute;z-index=99 ...(要在上層顯示的內(nèi)容)/p
div
div style=position:relative;z-index=1
...
div
上面的例子中,倘若將第一個(gè)div的z-index設(shè)置為-1,則無論p的z-index為多少 , 多會(huì)被下面的div遮住 。
相反,倘若下層div的z-index也設(shè)置成2,ie7正在解釋時(shí),會(huì)按照position:relative的層的順序,自動(dòng)疊加 , 即實(shí)際值是3.
沒有加position屬性時(shí),所有值繼承自父級(jí) 。
在ie7下 , 如下代碼會(huì)出現(xiàn)z-index覆蓋混亂的問題:
復(fù)制代碼代碼如下:
div style="position:relative;"
div style="position:absolute;z-index:100;width:100px;height:100px;background:red;"/div
/div
div style="position:relative;"
div style="position:absolute;z-index:10;width:20px;height:20px;background:black;"/div
/div
ie7下顯示為:

黑色到了紅色的上面 。
這是因?yàn)榻^對定位元素的有定位屬性(relative或absolute)的父元素在渲染層次時(shí)起到了主要作用,前面的被后面的覆蓋了 。
解決辦法就是給有定位屬性的父元素設(shè)置z-index:
復(fù)制代碼代碼如下:
div style="position:relative;z-index:2;"
div style="position:absolute;z-index:100;width:100px;height:100px;background:red;"/div
/div
div style="position:relative;z-index:1;"
div style="position:absolute;z-index:10;width:20px;height:20px;background:black;"/div
/div
這樣就可以正常顯示了:
【詳細(xì)分析 ie7下z-index失效問題解決方法】

