絕對定位的元素在ie6下不顯示隱藏了的有效解決方法

【絕對定位的元素在ie6下不顯示隱藏了的有效解決方法】問題描述:

在 ie6 中如果一個浮動元素與絕對定位元素相鄰的話,在某些情況下絕對定位元素將會消失 。

產生原因:

只有當絕對定位元素的鄰近浮動元素的寬度大于父層寬度減 3 時(即如果父層寬度是 300px , 浮動元素的寬度大于 297px),該絕對定位元素在 ie6 下面會隱藏 。

html:

復制代碼代碼如下:
!DOCTYPE HTML
html lang="en"
head
meta charset="utf-8"/
title絕對定位的元素在ie6下不顯示/title
/head
body
div class="w"
div class="fl"浮動元素/div
div class="pa"絕對定位元素/div
/div
/body
/html

css:

復制代碼代碼如下:
.w{border:3px solid #000;color:#fff;height:200px;position:relative;width:300px;}
.pa{background:orange;height:100px;position:absolute;right:10px;top:10px;width:100px;}
.fl{background:gray;float:left;height:100px;width:100%;}

ie6 瀏覽器效果:

絕對定位的元素在ie6下不顯示隱藏了的有效解決方法


其他瀏覽器效果:

絕對定位的元素在ie6下不顯示隱藏了的有效解決方法


解決方法:

1、調整浮動元素的寬度,即寬度小于或等于父層寬度減 3;

2、在浮動元素與絕對定位元素之間添加一個空的 div(推薦) 。

還是以上面的實例為參考:

復制代碼代碼如下:
!DOCTYPE HTML
html lang="en"
head
meta charset="utf-8"/
title絕對定位的元素在ie6下不顯示/title
/head
body
div class="w"
div class="fl"浮動元素/div
div/div
div class="pa"絕對定位元素/div
/div
/body
/html

ie6 瀏覽器和其他瀏覽器效果:

絕對定位的元素在ie6下不顯示隱藏了的有效解決方法

相關經驗推薦