首頁 >web前端 >css教學 >如何解決div層調整z-index屬性無效的方法

如何解決div層調整z-index屬性無效的方法

不言
不言原創
2018-06-20 15:54:349006瀏覽

這篇文章主要介紹了p層調整z-index屬性無效原因分析及解決方法,需要的朋友可以參考下

z-index 無效

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

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

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

1、父標籤position屬性為relative;
2、問題標籤無position屬性(不包括static);
3、問題標籤含有浮動(float)屬性。

eg:z-index層級不起作用,浮動會讓z-index失效,程式碼如下:

<p style="POSITION: relative; Z-INDEX: 9999">  
<IMG style="FLOAT: left" src="/131101/1A5494I0-0.jpg">  
</p>

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

1、position:relative改為position:absolute;
2、浮動元素加入position屬性(如relative,absolute等);
3、移除浮動。

2.第二種情況

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

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

<p style="POSITION: relative">
<p style="POSITION: relative; Z-INDEX: 1000">
<p style="POSITION: absolute; Z-INDEX: 9999"> <IMG src="/131101/1A3194V7-1.jpg"> </p>
</p> 
</p>

解決方法: 在第一個relative屬性加上一個更高的層級(z-index:1),程式碼如下:

<p style="POSITION: relative; Z-INDEX: 1">  
<p style="POSITION: relative; Z-INDEX: 1000">  
<p style="POSITION: absolute; Z-INDEX: 9999"> <IMG src="/131101/1A3194V7-1.jpg"> </p>  
</p>  
</p>

以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

關於CSS3 rem(設定字體大小)的解析

#

以上是如何解決div層調整z-index屬性無效的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn