【问题标题】:Opera browser rendering bug: vertical overflow and absolute positioning. Anyone know a workaround?Opera浏览器渲染bug:垂直溢出和绝对定位。有人知道解决方法吗?
【发布时间】:2011-07-03 10:46:54
【问题描述】:

我正在尝试解决看起来像是 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 更改为不使用绝对定位需要做太多的工作。

提前致谢,

杰。

【问题讨论】:

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


    【解决方案1】:

    这似乎确实是一个错误。

    我能想到的唯一解决方法是使用 body {overflow-y: hidden;} 完全关闭浏览器窗口上的垂直滚动条

    不过,这个措施可能有点过于激进了……

    【讨论】:

    • 感谢您的帖子。是的,这不是我想要的解决方法,而且,如果用户使用鼠标滚轮,或者说,macbook 用户使用触摸板滚动,身体会滚动。
    猜你喜欢
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 1970-01-01
    相关资源
    最近更新 更多