@kode_krendel

Как сделать scroll неактивным?

Обращаю внимание - не отключение скролла, а именно надо сделать чтобы не работала прокрутка. codepen.io/kodekrendel/pen/aJvRZX

Суть: я хочу чтобы при нажатии на кнопку вызова full-screen overlay navigation (вверху в хедере справа button) отключалась прокрутка. Не могу сообразить какое свойство CSS мне нужно и к какому элементу применять? К body, html не могу, по крайней мере не знаю как это сделать из Vue (там область видимости в пределах #app). Пробовал варианты из .scroll-off, но это не то.

Либо второй вариант: как сделать чтобы при исчезновении скролла не смещался button? Попробуйте откомментить .scroll-off и увидите, что при нажатии на button скролл исчезает, но и button смещается. Как его закрепить на одном месте, при этом не поламав функционала (fixed header и тд)?

Вроде бы понятно описал проблему, если что уточню.
  • Вопрос задан
  • 1325 просмотров
Решения вопроса 1
системный скролл css-ом никак не отключить, варианты:
  • body overflow: hidden, чтоб не было рывков, и все элементы оставались на местах, можно добавить padding-left, но у всех браузеров он разный, у хрома это около 17px
  • поставить свой скролл, их на просторах интернета полно
  • перехватывать событие скролла js
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ps1panda
Верстальщик, начинающий front-end
при нажатии на кнопку делать body overflow:hidden
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы