在IE 8中清除浮动

时间:2009-12-30 16:36:34

标签: css internet-explorer-8 css-float clear

我正在尝试在.NET MVC中构建一个页面(这不重要),其中div使用float分为左右容器。当我尝试使用<b>标记以外的任何内容(例如<div><br>)清除浮动时,IE8将无法正确呈现页面(就好像它忽略了标签)。如果我使用<b>标记,则Chrome和Firefox无法正确呈现网页。我已经完成了我的HTML,以确保我没有任何杂散标签并通过W3C标记验证器运行它并且它通过XHTML 1.0严格。我对此可能发生的事情感到茫然。我意识到有更好的方法来清除浮动(例如使用:after伪元素),但我需要一些简单和干净的东西。我想知道是否有人知道可能导致这种情况发生的原因,也许是样式表中的某些内容?提前感谢您的帮助。

3 个答案:

答案 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)

答案 2 :(得分:0)

jimbo,我建议使用类而不是id,并在样式表中包含所有样式。这也应该说明浮动和清除做http://goo.gl/uxu8G