我的网站上有一个弹出窗口,它可以从隐藏,最小化,到全屏状态,当全屏时,我显然想阻止后面页面的滚动。所以我在全屏时添加和删除 noscroll 类:
.noscroll {
height: 100%;
overflow: 100vh; // fallback for browser not support svh
overflow: 100svh;
}
它在桌面上就像 sa charm,但在移动 safari 上,当添加 noscroll 类时,主体的滚动位置将重置为顶部。
我已经尝试过在线解决方案,包括:
有没有一种方法可以简单地防止身体跳跃,同时又防止其滚动!?
有完全相同的问题,对我来说,解决方案是将 html 而不是 body 定位为
overflow: hidden
希望它能解决您的问题!