2016-09-30 33 views
3

假设一个简单的结构是这样的:防止绝对定位元件(的iOS的Safari)

<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中像这样行为吗?

回答

0

尝试将绝对定位元素放入具有以下位置的容器:relative;也许它会工作

+0

感谢您的意见。不幸的是,一个具有'position:relative;'的容器没有任何作用。 – Gerald

+0

尝试给绝对元素100%的宽度,应该修复它。也只能使用顶部和左侧这两个值,而不是全部四个值都为0.因为那么元素在文档 – f00gasi

+0

中的任何位置都不是固定的,恐怕也没有任何效果。为了澄清,我的实际元素是覆盖容器,它横跨其整个父级,所以通过'left:0;正确:0; top:0; bottom:0;'和width:100%具有相同的结果;身高:100%;'。 – Gerald