ios - 无法通过溢出停止滚动:仅在 ios 设备上隐藏
问题描述
我在整个屏幕上使用弹出窗口。当弹出窗口打开时,我将 body 和 html CSS 设置为溢出:隐藏并防止屏幕滚动。在所有浏览器中都可以正常工作,并且在 android 设备上也可以,但问题出在 iOS 设备上。我无法停止在 ios 设备上滚动。
<html style="overflow: hidden;">
<body style="overflow: hidden;">
<div class="popup" style="position: fixed;">
</div>
</body>
</html>
我需要干净的 CSS 解决方案。我已经尝试添加位置:相对,位置:固定但它不起作用。
有什么解决办法吗?
解决方案
几天前我遇到了同样的问题,我终于想出了这个。
好吧,有一个非常简单的解决方案可以解决这个问题......您所要做的就是将该元素设置为具有相对位置。例如,如果您要指定 body 隐藏水平滚动条,您会希望在样式表中包含以下 CSS:
body {
position:relative;
overflow:hidden;
}
或者
如果上述方法不起作用,另一种方法是添加 jQuery
我们可以通过使用类似这样的东西来防止刷卡:
$('body').bind('touchmove', function(e){e.preventDefault()});
并重新允许再次滑动(即当菜单或全屏模式关闭时):
$('body').unbind('touchmove');
希望这可以帮助你:)
推荐阅读
- r - lm()公式中的rlang双花括号
- reactjs - Reactjs - 不重新加载页面,而是获取“未找到”页面。如何解决这个问题?
- mongodb - Mongo Shell 中的函数。MongoshUnimplementedError:无法在方法定义之外处理“this”关键字
- swift - Firebase 查询返回错误的项目
- mongodb - $unionWith 是否对独立集合运行并行查询?
- c# - 如何通过jquery或c#防止特定网页的截图
- javascript - 将结果显示为“未定义”,而不是文本字段中的预期输出
- c++ - 从 DATETIMEPICK_CLASS win32 获取选定日期(不是 mfc)
- maven - maven 编译器插件如何进入有效的 POM,即使它不在 Super POM 中
- angular - NgRX provideMockStore createSelector 状态未定义