无法停止滚动,溢出:仅在ios设备上隐藏

无法停止滚动,溢出:仅在ios设备上隐藏,ios,css,Ios,Css,我在整个屏幕上使用弹出窗口。当弹出窗口打开时,我将主体和html CSS设置为溢出:隐藏并防止屏幕滚动。在所有浏览器中都可以正常工作,在android设备上也可以,但问题是在iOS设备上。我无法停止在ios设备上滚动 <html style="overflow: hidden;"> <body style="overflow: hidden;"> <div class="popup" style="position: fixed;"> </div>

我在整个屏幕上使用弹出窗口。当弹出窗口打开时,我将主体和html CSS设置为溢出:隐藏并防止屏幕滚动。在所有浏览器中都可以正常工作,在android设备上也可以,但问题是在iOS设备上。我无法停止在ios设备上滚动

<html style="overflow: hidden;">
<body style="overflow: hidden;">
<div class="popup" style="position: fixed;">
</div>
</body>
</html>

我需要清洁的CSS解决方案。我已经尝试添加position:relative,position:fixed,但它不起作用


有什么解决办法吗?

几天前我也遇到了同样的问题,我终于想出了这个办法

嗯,有一个非常简单的解决方案来解决这个问题。。。你们所有人 必须做的是将该元素设置为具有相对位置。对于 实例,如果要指定主体隐藏水平线 滚动条您希望在应用程序中包含以下CSS 样式表:

如果上述方法不起作用,另一种方法是添加jQuery

我们可以使用以下方法防止刷卡:

$('body').bind('touchmove', function(e){e.preventDefault()}); 
以及再次允许刷卡(即当菜单或全屏模式关闭时):


希望这对你有帮助:)

对不起,我的英语。几天后,我找到了这个解决方案,它对我有效

position: touch-action: none;
-ms-touch-action: none;

已经试过了。。。不幸的是,这不是我的问题的解决方案:/这个怎么样<代码>正文{高度:100%;溢出:隐藏!重要;宽度:100%;位置:固定;}可以工作,但在我的例子中,我有10个条目,例如,我可以滚动到最后一个条目并打开该条目。在这种情况下,屏幕应保持在该位置。使用position:fixed,它将始终位于顶部,我不需要这种行为。我认为您应该添加一些jQuery。检查更新的答案我知道我试过了,它工作得很好,但我在这里试图找到解决这个问题的干净的CSS解决方案。如果我不能,那么我将使用jQuery,这不是问题,我将再等待一点:D
$('body').unbind('touchmove'); 
position: touch-action: none;
-ms-touch-action: none;