miraage
@miraage
Старый прогер

Как подружить overflow:hidden в Safari на iOS?

На body висит overflow:hidden, который, как я почитал, не работает в ios safari.
Есть модальное окно, position:fixed.
Везде всё хорошо, а на i-девайсах скроллится страница под модалом.
Как это побороть?
  • Вопрос задан
  • 23003 просмотра
Пригласить эксперта
Ответы на вопрос 5
@mexsmg
Проблема в том, что body нельзя поставить position. А значит вам надо обернуть весь сайт в определенный тег, например wrapper, и ему добавлять overflow: hidden; height: 100vh; position: relative; В этом случае все заработает. Проверено на мобильных устройствах в браузере Сафари.
Ответ написан
Комментировать
monochromer
@monochromer
DIVeloper
Мне частично помогло для модального окна
-webkit-overflow-scrolling: touch;
Ответ написан
Комментировать
@nzy
Мне помогло:

touch-action: none;
-ms-touch-action: none;
Ответ написан
Комментировать
высоту поставь 100% (или 100vh)
Ответ написан
kashey
@kashey
Программирую большую половину жизни
Проблема в том, что мобильный сафари игнорирует overflow:hidden на body.
"Сегодня" самым эффективным способом борьбы является просто блокирование пропагации ивентов, которые могут вызвать скролл в документ.
В общем - https://github.com/thearnica/dom-locky
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы