我遇到以下示例的问题。
背景 我首先将一个元素浮动到右边,其中有一个图像输出。 然后我有一个包含其他内容的元素。
在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上读取其他线程,但唉,我找不到任何解决方案,很难知道哪些词甚至可以搜索。我真的希望这只是我的一些脑屁。
任何建议或想法或问题都会非常感激!
答案 0 :(得分:0)
尝试为您要浮动的内容指定固定宽度(如width:250px
中所示)。我发现IE的旧版本不能很好地处理浮动,除非它们具有固定的宽度。
我怀疑这可能是一个hasLayout问题,所以如果你对这个bug存在的原因感到好奇,这是一个非常好的读物:
http://www.satzansatz.de/cssd/onhavinglayout.html
如果您不想分配固定的宽度,可以尝试的其他一些可能是min-width: 1%
和zoom: 1
。