您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么解決IE6/7絕對定位元素神秘消失或被遮擋的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1.當絕對定位層的鄰近浮動層的寬度不等于父層寬度時,以及沒有清除浮動時,IE6/7,FF中顯示一致;
2.當絕對定位層的鄰近浮動層的寬度不等于父層寬度時,有清除浮動時,IE6/7不顯示絕對定位層,FF顯示;
3.當絕對定位層的鄰近浮動層的寬度等于父層寬度時,以及沒有清除浮動時,IE6不顯示絕對定位層,IE7/FF顯示;
4.當絕對定位層的鄰近浮動層的寬度等于父層寬度時,有清除浮動時,IE6/7不顯示絕對定位層,FF顯示;
要解決這個BUG的方法也很簡單,讓絕對定位層不挨著浮動層放置就好了,還有個更簡單的方法,在絕對定位元素和其他元素之間加一個空白的div。
再來看看絕對定位元素神秘消失被遮擋的現象,先了解一下所涉及到的幾個定位特性:
1. 相對定位元素默認的z-index的數值是0。
2. 當兩個相對定位同時出現時,代碼靠后的z-index優先。
3. 子級遵循父級設定的z-index;如果子級設定了絕對定位、z-index,可以沖破父級顯示
看下面的代碼:
代碼如下:
<div style=”position:relative; background:#FF0000; width:200px; height:100px;”>
<div style=”position:absolute; background:#FFFF00; width:49px; height:50px; left:106px; top:310px; z-index:100“></div>
</div>
<div style=”position:relative; background:#000000; width:200px; height:100px;”></div>
<div style=”position:relative; background:#9900FF; width:200px; height:100px;”></div>
代碼解釋:上面是三個相鄰的相對定位的層,在第一個層里加了個相對其絕對定位的層,按照理論,這個絕對定位的元素是在三個相對定位元素之上的,但是,實際卻沒有顯示。嘗試設置z-index值也沒有效。
網上解決這個bug的辦法一般用hack使B為負值,來降低 B 在IE下級別。但是這種方法在z-index為負值時,產生了新的ie bug按照定位的特性,ie的這個bug是可以回避。
從表面上看下面的層 遮住了上面的絕對定位層,實際上是下面的 層遮住了絕對定位的的父級層,只要將 該父級層的z-index設定大于后面的層即可。
關于“怎么解決IE6/7絕對定位元素神秘消失或被遮擋的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。