滚动条在Opera中没有明显原因显示

时间:2013-02-02 13:32:03

标签: html css opera

带有Blue inline-block #b

vertical-align: middle位于red #a内。在某个时刻blue #b具有其父级的全高。

http://jsfiddle.net/TK2qs/1/

麻烦制造者只有Opera [1],即使red parent #a [2]下方有一些空格,也会在窗口上放置垂直滚动条。超级有趣的细节是,标记中似乎没有任何东西似乎占据red #a以下的额外空间 - 即使document element也没有占用这个空间。

display: inline-blockvertical-align: middle blue #b规则被丢弃时,注意到的行为会消失。尽管如此,找到一个能够保持这两个规则的解决方案仍然很有用。

要在JSFiddle中重现问题,请拖动右下方子框的边框。

感谢您的关注!

[1_]仅在我当前版本中检查:12.11。

[2_] [jsfiddle.net示例]中有大约40-50像素[1]。尺寸因red #a高度而异。

2 个答案:

答案 0 :(得分:2)

我同意furikuretsu的回答。 overflow:hidden摆脱了神秘的无形内容。

奇怪的是,我放在div#c内的文字越多,空间越小。当文本填充超过一半的高度时,空间完全消失。这是观察,而不是解决方案!

我将此报告为Opera的一个错误。不知道它是否会做任何好心......

答案 1 :(得分:1)

http://jsfiddle.net/Mpmgv/

我自己找到了两个解决方法。

首先隐藏blue #b的溢出。事实上它是一个可行的解决方案让我认为隐形大元素可能位于blue #b内的某个地方,而不是其他任何地方。

第二种解决方法是在blue #b内创建合成的绝对定位子项。因此,所有打算放在blue #b中的内容都将用于合成儿童。

您可以在red #a元素上添加适当的类来检查这两种解决方案。

尽管如此,我仍然等待并高度赞赏有关Opera出现这种奇怪问题的原因的任何想法。