Как заблокировать скролл страницы?

Подскажите современное хорошее решение для блокировки скролла body во время открытия модального окна или меню, может javascript библиотека какая-то есть хорошая есть, а то все ответы на этот вопрос написаны более 3 лет назад.

Нужно чтобы во время блокировки скролла:
1. Страница не дергалась из-за исчезновения полосы прокрутки.
2. Позиция скролла запоминалась и не перебрасывало в начало страницы.
3. Внутри модалок скролл работал.
4. Блокировка работала в iOS без глюков и чтобы адресная строка браузера не выскакивала при блокировке.
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 2
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Современное решение без javascript

.modal-wrapper {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    /* То, что нужно */
    overscroll-behavior: contain;
}

https://developer.mozilla.org/en-US/docs/Web/CSS/o...
Поддержка 87% https://caniuse.com/css-overscroll-behavior
Ответ написан
@Anonymous_toaster
тупа убери скроллы
css

overflow-x: hidden //горизонтальный вроде
overflow-y: hidden //вертикальный вроде
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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