我正在尝试在.NET MVC中构建一个页面(这不重要),其中div使用float分为左右容器。当我尝试使用<b>
标记以外的任何内容(例如<div>
或<br>
)清除浮动时,IE8将无法正确呈现页面(就好像它忽略了标签)。如果我使用<b>
标记,则Chrome和Firefox无法正确呈现网页。我已经完成了我的HTML,以确保我没有任何杂散标签并通过W3C标记验证器运行它并且它通过XHTML 1.0严格。我对此可能发生的事情感到茫然。我意识到有更好的方法来清除浮动(例如使用:after伪元素),但我需要一些简单和干净的东西。我想知道是否有人知道可能导致这种情况发生的原因,也许是样式表中的某些内容?提前感谢您的帮助。
答案 0 :(得分:3)
我找到了。愚蠢的IE。我必须设置我的div的高度,将两个浮动的容器放在100%。我猜Mozilla和Chrome的高度为100%,其中IE没有。我本来应该更明确。问题是,当我使用DIV标签清除浮子时,我的容器中没有任何东西出现,或者背景颜色不会填满。我不得不安装IE开发人员工具栏来弄清楚发生了什么。
<div id="floatcontainer" style="width:100; height:100%;">
<div id="floatleft" style="float:left; width:50%; background-color:#454545;"></div>
<div id="floatright" style="float:right; width:50%;"></div>
<div id="clear" style="clear:both;"></div>
</div>
答案 1 :(得分:0)
尝试使用clearfix方法:http://www.positioniseverything.net/easyclearing.html
答案 2 :(得分:0)
jimbo,我建议使用类而不是id,并在样式表中包含所有样式。这也应该说明浮动和清除做http://goo.gl/uxu8G