2009-01-26 53 views
0

的宽度。当我指定的风格height对于这里面的任何元素,IE使得整个事情100%的宽度,而不是保持它的“自动调整大小”的宽度。IE不自动调整大小绝对定位的元素

其他浏览器显示它很好,但不是IE浏览器。我该如何解决?

<div style="position:absolute;top:50px;left:50px;background:green;"> 
<div> 
    <div>test</div> 
    <div style="height: 20px;">this makes it 100% width in IE. why?</div> 
</div> 
</div> 

谢谢!

+0

也许你可以改变div的“显示”价值。 – 2009-01-26 20:31:27

回答

1

这里的东西,可能为你工作。这是一个小黑客,但如果你想为一些文本找到一个好的宽度,这是除了我知道的JavaScript之外的唯一方法。我们基本上是通过不让线路断开来强制宽度。如果您需要换行,您可以输入<br/>

<div style="position:absolute;top:50px;left:50px;background:green;width:0px"> 
<div> 
    <div>test</div> 
    <div style="height:50px; white-space:nowrap">This is normally sized in IE6</div> 
</div> 
</div> 

关于第二个想法,不要检查链接。这是旧的,不符合广告。

老答案:

http://snippets.dzone.com/posts/show/216

我相信,非绝对定位的DIV自动扩展水平方向上填满其容器。由于您没有为该div指定任何容器大小,因此会展开以填充整个页面。

我觉得很奇怪,Firefox不扩大DIV ......我不知道这其中实际上有其“权利”。

+0

谢谢!不幸的是,我无法访问样式表。这个解决方案似乎也有点不妥。 – sam 2009-01-26 20:12:10

0

在猜测,我会说这是事做在IE6的hasLayout的错误。我的建议: 1.给包含div(绝对定位的那个)设置一个宽度。 2.发布你想要实现的例子。我们可能会提出一个更全面的浏览器友好的方式来做你想做的事情。

相关问题