Переполнение: скрыто не работает в ios сафари - PullRequest
0 голосов
/ 04 марта 2020

Настройка переполнения скрыта для html, body с использованием jquery или css не работает в ios safari, но работает в сафари на ma c и во всех других браузерах.

Я пытался найти ответы здесь: Overflow-x: скрытый не предотвращает переполнение контента в мобильных браузерах . В ответе объясняется, как использовать div-обертку с position: relative и добавить overflow: hidden к этому div. Это решение не сработало для меня.

Существует также ответ, который говорит, что нужно использовать position: fixed, но проблема у меня заключается в том, что мне нужно использовать toggleClass, чтобы переключаться между переполнениями для всплывающего сообщения на работать, но когда я применяю его, используя jquery, экран прокручивается до самого верха.

Я также попытался добавить прозрачное наложение position: fixed с полной шириной и высотой позади всплывающего окна, но, как ни странно, тело / html на заднем плане все еще можно прокручивать через наложение.

Эту проблему можно увидеть на моем веб-сайте в режиме реагирования, нажав здесь кнопку «Поделиться» справа внизу: https://ph4ntom.tech/downloads/wallpapers/wallpapers.html

Будет ли рабочий способ скрыть / отключить наложение, используя jquery / css / html временно на событие в ios сафари?

я не включил весь код, потому что это сделало бы вопрос длиннее и более запутанным, и я не думаю, что включение кода необходимо, поскольку мой вопрос требует только способа скрыть переполнение или отключить прокрутку в ios Сафари, где использование overflow: hidden на body, html не работает. Пожалуйста, прочитайте: { ссылка }

Спасибо за помощь:)

1 Ответ

0 голосов
/ 04 марта 2020

$("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>
...