这是个很老的bug了,我想通常你们都遇到过,之前我是纯凭经验,让绝对定位的元素不挨着浮动元素就OK了,不过一直没去研究它造成的缘由。今天作页面又遇到了这个可爱的BUG,本着一探究竟的心态google了一下。在蓝色理想发现了这样的几条解释: google
1.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,以及没有清除浮动时,IE6/7,FF中显示一致; spa
2.当绝对定位层的邻近浮动层的宽度不等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示; bug
3.当绝对定位层的邻近浮动层的宽度等于父层宽度时,以及没有清除浮动时,IE6不显示绝对定位层,IE7/FF显示; 经验
4.当绝对定位层的邻近浮动层的宽度等于父层宽度时,有清除浮动时,IE6/7不显示绝对定位层,FF显示; 兼容
就目前来讲我我的的解决办法有两条,第一取消浮动,第二让绝对定位的元素不要挨着浮动的标签。蓝色上那位哥们提出了另外一个办法,就是在绝对定位的层跟浮动层中间插个空的标签。 清除浮动
----------- 标签
唉.可悲啊..还得兼容IE6 浮动