2012-03-21 58 views
1

我试图在div中放置一个div。 外部div具有固定宽度和heigt,内部div包含一些文本,具有固定高度并自动适合外部div的宽度(默认行为,不含“宽度:100%”)。位置:在IE7中绝对降低宽度

当我现在添加位置:相对于外部div和位置:绝对+底部:0到内部div,我只想内部div移动到外部div的底部,但保持相同的宽度之前有过。这在大多数浏览器(Internet Explorer 8+,Firefox,Opera)中都可以正常工作,但在IE7中,它会减小宽度以适应内部div内的文本。

有没有一种干净而有效的方法来防止IE7中出现这种不同的行为?

这里你可以看到一个例子:http://www.loud.fm/tmp(我在功能的滑盖盒的内底谈论黑匣子)预先感谢您! :)

回答

4

既然你已经使用绝对定位将其锁定在底部为什么不加

left: 0; 
right: 0; 

你的CSS以及。

+0

这工作。谢谢!我期待像“display:block”这样的东西帮助,但它没有。 – 2012-03-23 13:43:24

0

当你执行position: absolute,你打破了一些关系。在你提到的例子中,你会注意到黑盒的div属于li元素,li元素的静态宽度设置为590px。你可以通过在负载上使用javascript来动态设置内部div的宽度,以处理所有情况。否则,请设置一个与父级相匹配的静态宽度大小。

+0

这将是一种解决方法,但这意味着我要么使用额外的JS(如果不是绝对必要的话,我不想使用额外的JS)或设置固定宽度(这意味着我必须更改它手动,如果我改变父母的宽度)。它不会是我称之为补偿IE7不当行为的干净解决方案。不过谢谢你的贡献,无论如何。 – 2012-03-23 13:47:55

0

我有一个非常类似的问题,Div的宽度被IE7改变了。一个简单的样式标签为我解决了这个问题:

min-width: 100%; 

经过数小时的反复试验,这一切都花了。希望能帮助到你!