首页 > 代码库 > IE6下面 position:absolute 失效导致绝对定位层不显示的原因

IE6下面 position:absolute 失效导致绝对定位层不显示的原因

在网上看到的,最近遇到好几次,总结就是

当你发现某元素在IE6,7下面无法显示的时候,且这个元素是经过position absolute的,加之前后之类的有浮动,你就要考虑一下兄弟元素,有时候是前面,有时候是后面,加一个<div class="clearboth"></div>

今天早上重构一个机票订购页面的时候,为了配合JS特效所以需要写一个绝对定位浮动层,写完在测试的时候发现,在FF、ie8、ie7、op下都可以正常显示,可是到了IE6的时候,这个绝对定位浮动层却无法显示,把CSS中“position:absolute”去掉后就可以显示出来,这是何原因呢?

 

经过baidu、goole折腾研究了半天后终于找到了原因,原来是这个绝对定位浮动层旁边紧邻的那个div层是个使用“float:left”左浮动,而导致这个绝对定位浮动层在IE6下无法显示,解决办法就是在这个绝对定位浮动层前面插入一个清除浮动的层。

 

总结:在IE6下面 position:absolute的绝对定位层前面紧邻的那个层如果有用到“float” css浮动属性会导致这个绝对定位层无法显示。

IE6下面 position:absolute 失效导致绝对定位层不显示的原因