当我在其中的任何元素的样式中指定 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>
谢谢!
最佳答案
以下内容可能对您有用。这有点 hacky,但如果您想为某些文本找到合适的宽度,这是我所知道的除 javascript 之外的唯一方法。我们基本上是通过不允许线中断来强制宽度。你可以输入<br/>
s 如果你需要换行符。
<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 很奇怪...我不确定他们中的哪一个真的“正确”。
关于css - IE不自动调整绝对定位元素的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481125/