我正在尝试解决 Opera 中看起来像错误的问题。
不良行为是 Opera 在浏览器窗口上放置了一个不必要的垂直滚动条。
当我有一个外部 div 是 position:relative 并且有 overflow-y:auto 和一个嵌套的内部 div 是 position:absolute 并且恰好高于浏览器窗口的高度时,就会发生这种情况。
例如:
<style type="text/css">
#outer {
position: relative;
overflow-y: auto;
width: 200px;
height: 200px;
}
#inner {
position: absolute;
height: 2000px;
width: 50%;
border: 2px dashed blue;
background: deeppink;
}
</style>
<div id="outer">
<div id="inner">Inner</div>
</div>
这是一个演示:
http://www.jaysweeney.com.au/overflow_issue.html
有趣的是,从上面的demo可以看出,水平溢出不会出现这个问题。
这是我在 Opera 中看到的屏幕截图:
http://www.jaysweeney.com.au/screen.png
我在 OS X 上使用 Opera 11.01。
如果有人知道此问题的解决方法,请告诉我。目前我很困惑,要改变我的标记和 javascript 以不使用绝对定位需要做太多的工作。
提前致谢,
杰。