IE 7浮动div自动清除下一个元素?

时间:2010-06-09 19:31:02

标签: html internet-explorer-7 css-float

我遇到以下示例的问题。

背景 我首先将一个元素浮动到右边,其中有一个图像输出。 然后我有一个包含其他内容的元素。

在FF和IE 8中,正如预期的那样,.images div浮动到右边显示浮动到右边。将.product-body div中的内容推向左边很好。

问题: 但是当在IE 7兼容模式下查看时,.product-body div在.images div下清除,因此.images div不会像预期的那样很好地向右移动。无论我是否清楚,IT都会这样做:无;在.broduct-body div。

请参阅www.hotelmarketingbudget.com上的示例。查看div元素#content-body上的源代码以查看这些div。随意使用Firebug或IE Dev工具栏或诸如此类的东西来检查它。

相关的CSS:

#content-body{
 width:auto;
 height:auto;
 position:relative;
 margin:0 auto; 
}

.product-group .images {
 float:right;
 width:auto;
 height:auto;
 position:relative;
 margin:0 auto;
 margin-left:15px;
}

.product-group .product-body {
 width:auto;
 height:auto;
 position:relative;
 margin:0 auto;
}

我已经花了好几个小时试图弄清楚如何修复这个谷歌搜索,在stackoverflow上读取其他线程,但唉,我找不到任何解决方案,很难知道哪些词甚至可以搜索。我真的希望这只是我的一些脑屁。

任何建议或想法或问题都会非常感激!

1 个答案:

答案 0 :(得分:0)

尝试为您要浮动的内容指定固定宽度(如width:250px中所示)。我发现IE的旧版本不能很好地处理浮动,除非它们具有固定的宽度。

我怀疑这可能是一个hasLayout问题,所以如果你对这个bug存在的原因感到好奇,这是一个非常好的读物:

http://www.satzansatz.de/cssd/onhavinglayout.html

如果您不想分配固定的宽度,可以尝试的其他一些可能是min-width: 1%zoom: 1