【IE6的疯狂系列】IE6下position:absolute相邻元素margin-top失效的bug
时间:2010年08月24日作者:愚人码头查看次数:5,420 views评论次数:9
昨天发现了一个ie6的bug,绝对定义(position:absolute)的相邻元素margin-top竟然会失效;
看demo把(请用ie6围观):http://www.css88.com/demo/absolute-bug/absolute-bug.html
这里有几个条件:
- 相邻元素是有width属性的,如果去掉width属性,margin-top又会生效,点击查看:http://www.css88.com/demo/absolute-bug/absolute-bug-1.html
- 增加相邻元素浮动,margin-top也会又会生效;点击查看:http://www.css88.com/demo/absolute-bug/absolute-bug-2.html
如果没有复杂的背景什么的可以使用padding-top替换margin-top;
还可应在相邻元素间插入一个空标签的方法:
<div style="position: absolute; width: 500px; top: 0; left: 0; height: 30px; background-color: #666;">此处显示新 Div 标签的内容</div> <!--[if IE 6]> <div></div> < ![endif]--> <div style="margin-top: 35px; width: 100px; float: left; background-color: #3fc;">此处eeeeeeeee显示新 Div 标签的内容</div>
点击查看:http://www.css88.com/demo/absolute-bug/absolute-bug-4.html
————————————————
另赠送一个IE6下与float元素相邻的position:absolute元素消失BUG
围观地址:http://blog.dengsa.com/?p=342 http://www.webchina110.cn/?p=105
声明: 本文采用 BY-NC-SA 协议进行授权 | WEB前端开发
转载请注明转自《【IE6的疯狂系列】IE6下position:absolute相邻元素margin-top失效的bug》



嗯~希望码头多多发些bug
占沙发~
[回复]
发现最近WEB前端开发更新的慢了。
[回复]
好像ie7下面也有这个bug.以前好像也碰到过,没有注意,用其他办法绕过去了。
[回复]
为了验证下,切到winxp ie6一试,果然如此。
以前还真没注意过。
[回复]
把第二个div也定义绝对定义(position:absolute)也能解决这个问题,估计是第一个绝对定义之后,第二个不定义一下它会找不到合适的位置,呵呵~~~万恶的ie6赶快淘汰吧
[回复]
主要原因是第二个div自动被添加了浮动,所以可以给第一个与第二个div间加个清除浮动的可以了。如:
[回复]
初学者,很纠结如何使各浏览器的元素间距精确一致???
[回复]
之前遇到过这个问题,但都没注意是怎样解决的。
It’s really helpful!
[回复]
前段时间做项目的时候发现IE6下,用了float后,相邻元素使用position:absolute时会消失,忘记当时是怎么解决的了,呵呵 不过又学到了一些知识,谢谢码头大虾
[回复]