【问题标题】:Prevent absolute positioned element from dragging (iOS Safari)防止拖动绝对定位的元素(iOS Safari)
【发布时间】:2017-02-08 22:26:56
【问题描述】:

假设这样一个简单的结构:

<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    </head>
    <body>    
        <div style="position: absolute; top: 0; bottom: 0; left: 0; right: 0;">Text</div>
    </body>
</html>

在大多数移动浏览器中,这会显示绝对定位的文本,而无需任何移动元素的方式。但在 Safari / iOS 9 中,您可以垂直拖动元素,类似于溢出滚动。

我知道position: fixed; 没有这个问题,但在我的用例中,我肯定必须使用position: absolute;

有什么方法可以防止绝对定位的元素在 Safari 中出现这样的行为?

【问题讨论】:

    标签: html ios css css-position mobile-safari


    【解决方案1】:

    尝试将绝对定位的元素放入具有 position: relative; 的容器中。也许它会起作用

    【讨论】:

    • 感谢您的意见。不幸的是,带有position: relative; 的容器没有任何作用。
    • 尝试将绝对元素的宽度设为 100%,这应该可以解决问题。也只使用 top 和 left 等两个值,而不是所有四个值都为 0。因为这样该元素在文档中的任何位置都没有固定
    • 恐怕也没有任何作用。为了澄清,我的实际元素是一个覆盖整个父元素的覆盖容器,因此通过left: 0; right: 0; top: 0; bottom: 0; 拉伸它的结果与width: 100%; height: 100%; 相同。
    猜你喜欢
    • 2020-01-21
    • 2016-09-01
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    相关资源
    最近更新 更多