当我在其中的任何元素的样式中指定height
时,IE会使整个事物的宽度为100%,而不是将其保持为“自动调整”宽度。
其他浏览器显示它很好,但不是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 :(得分:1)
这可能适合您。这有点hacky,但是如果你想为某些文本找到一个好的宽度,这是除了我知道的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 ...我不确定他们中哪一个实际上有“正确”。
答案 1 :(得分:0)
猜测一下,我会说它与IE6中的hasLayout错误有关。我的建议: 1.给包含div(具有绝对定位的div)设置一个宽度。 2.发布一个你想要实现的例子。我们或许可以建议采用更加全浏览的友好方式来做你想做的事。