溢出:隐藏在ios Safari中不起作用

问题描述 投票:-1回答:1

使用jquery或css将隐藏到html, body的溢出设置为隐藏状态在ios Safari中不起作用,但在Mac和所有其他浏览器上的Safari中起作用。

我尝试在这里寻找答案:Overflow-x:hidden doesn't prevent content from overflowing in mobile browsers。答案说明将包装器div与position: relative一起使用,并将overflow: hidden添加到该div中。该解决方案对我不起作用。

还有一个回答说要使用position: fixed,但是我遇到的问题是我需要使用toggleClass在上溢之间切换才能使弹出消息起作用,但是当我使用jquery应用它时,屏幕会滚动所有内容到达顶端的方式。

[我还尝试在弹出窗口后面添加一个具有全宽度和高度的透明position: fixed叠加层,但是很奇怪,背景中的body / html仍可以在该叠加层中滚动。

在响应模式下,通过单击此处右下方的共享按钮,可以在我的网站上看到此问题:https://ph4ntom.tech/downloads/wallpapers/wallpapers.html

是否有一种可行的方法来在Safari浏览器事件中临时使用jquery / css / html来隐藏/禁用覆盖?

我没有包括完整的代码,因为这会使问题变得更长且更令人困惑,并且我认为包括代码是没有必要的,因为我的问题仅要求使用ios Safari在overflow: hidden中隐藏溢出或禁用滚动的方法body, html上的指示灯不起作用。请阅读:https://stackoverflow.com/help/how-to-ask

谢谢您的帮助:)

jquery html css safari overflow
1个回答
0
投票

$("button").click(function() {
  $("body").toggleClass("overflow-hidden")
})
.overflow-hidden {
  height: 100vh;
  overflow: hidden;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click</button>
© www.soinside.com 2019 - 2024. All rights reserved.