我正在尝试识别此错误.这是一个已知问题还是全新的?有没有一种解决方法(例如我可以添加来修复它的zoom:1或position:relative?),理想情况下无需在此处修改html,而只需添加即可.
如果在IE8中显示以下html,您将看到select(组合框)中的文本显示两次.组合框外面的一个.这搞乱了我的文档流程(更不用说看起来很奇怪了).
<html><body>
<div style="width: 800px;">
<div style="float: right" >
</div>
<div style="display: none">
ijklmno
</div>
<div style="float:left">
<select>
<option>abcdef</option>
</select>
<div style="float: right">
</div>
</div>
</div>
</body></html>
最佳答案
这绝对是一个错误,因为您在布局样式规则中非常明确.但这首先是一个很奇怪的安排.如果取消隐藏隐藏的div,添加文本或将div隐藏在选择下方,则问题将消失.我最好的猜测是,由于块级元素重叠在一起,其中一个隐藏而一个空,因此IE忽略了浮动,并试图使它们相互重叠,这迫使该选项向下移动,但由于选择保持不变,它也显示选择中的选项.
很奇怪,很酷.在我看来,您的选择是在最后一个div中添加一些内容(可能是不间断的空格),或者隐藏div(显示:无),或两者兼而有之.
在Firefox中,最后一个div也没有正确浮动,并且与select重叠(您可以通过使用Developer Toolbar概述块级元素来说明),这使我认为Firefox在处理重叠的块级元素方面更好.
如果将最后一个div设置为有边框,则会看到它不在主div的右侧浮动.