z-index不起作用


在做的過程中,發現了一個很簡單卻又很多人應該碰到的問題,設置Z-INDEX屬性無效。在CSS中,只能通過代碼改變層級,這個屬性就是z- index,要讓z-index起作用有個小小前提,就是元素的position屬性要是relative,absolute或是fixed。

1.第一種情況(z-index無論設置多高都不起作用情況):

這種情況發生的條件有三個:

1、父標簽 position屬性為relative;

2、問題標簽無position屬性(不包括static);

3、問題標簽含有浮動(float)屬性。

解決辦法有三個(任一即可):

1、position:relative改為position:absolute;

2、浮動元素添加position屬性(如relative,absolute等);

3、去除浮動。

 

2.第二種情況

IE6下,層級的表現有時候不是看子標簽的z-index多高,而要看整個DOM tree(節點樹)的第一個relative屬性的父標簽的層級。

eg:IE7與IE6有着同樣的bug,原因很簡單,雖然圖片所在div當前的老爸層級很高(1000),但是由於老爸的老爸不頂用,可憐了9999如此強勢的孩子沒有出頭之日啊!

解決辦法: 在第一個relative屬性加上一個更高的層級(z-index:1)

 

3.第三種情況

元素樣式有overflow=hidden!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM