Opera浏览器渲染bug:垂直溢出和绝对定位。有人知道解决方法吗?

时间:2011-02-24 10:01:01

标签: html cross-browser opera markup browser-bugs

我正在尝试解决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

有趣的是,正如您从上面的演示中看到的那样,这个问题不会发生 用于水平溢出。

以下是我在Opera中看到的截图:

http://www.jaysweeney.com.au/screen.png

我在OS X上使用Opera 11.01。

如果有人知道此问题的解决方法,请告诉我们。此刻我很难过 并且它有太多的工作来改变我的标记和javascript以不使用绝对定位。

提前致谢,

周杰伦。

1 个答案:

答案 0 :(得分:0)

看起来确实这是一种各种各样的错误。

我能想到的唯一解决方法是使用body {overflow-y:hidden;}

完全关闭浏览器窗口上的垂直滚动条

然而,这可能是一种过于激进的措施......

相关问题