【发布时间】:2011-08-28 11:55:30
【问题描述】:
我有以下(http://jsfiddle.net/gVZwr/4/):
<div>
<label>From</label>
<span>Some Content Goes Here</span>
</div>
span {
display: inline-block;
overflow:hidden;
}
在IE8/9中,label和span不对齐(label低于span)。
为什么???我可以通过在标签上加上overflow:hidden 来修复它,但我想知道是什么原因造成的。我尝试了旧的“hasLayout”修复,例如将zoom:1 放在标签上,但除了overflow 之外似乎没有任何修复。
【问题讨论】:
-
仅供参考:我在 FF4 中尝试过,结果与 IE8 中的相同。但 Chrome 不同。
-
hasLayout 早已不复存在。我认为使用的最后一个版本是 IE 7。好吧,你可能仍然在 Quirks 和 Compatibility 模式下拥有它,但我希望你做在主要渲染模式下测试...
-
另请注意:将
overflow:hidden添加到标签本身并不能修复它。它还需要display:inline-block(至少在我的测试中) -
@Joey - 我知道
hasLayout早已不复存在,但这似乎是一个类似的渲染问题,因为在 IEoverflow:-anything- 会触发hasLayout=true,我在这里看到overflow正在导致浏览器进入不同的渲染模式......或其他东西。 @jwd - 谢谢,实际上我还没有在 FF 中测试过这个确切的案例。
标签: css internet-explorer-8 internet-explorer-9 haslayout