Задать вопрос
t-alexashka
@t-alexashka
Сразу пишу legacy код

Как убрать смещение страницы влево при появлении полосы прокрутки?

Добрый день всем.

При динамическом обновлении таба, высота меняется, из за чего появляется прокрутка (вертикальная) в браузере, и страница немного смещается влево на ширину прокрутки. как бы так сделать чтобы прокрутка не влияла на разметку?

Спасибо.
  • Вопрос задан
  • 26740 просмотров
Подписаться 3 Сложный Комментировать
Решения вопроса 1
Pongo
@Pongo
При помощи calc(100vw - 100%) можно вычислить ширину скроллбара (а если он не отображается, то будет 0). Идея: при помощи отрицательного margin-right увеличить ширину <html> на эту ширину. При этом появляется горизонтальная полоса прокрутки — ее скрываем.

html {
  overflow-x: hidden;
  margin-right: calc(-1 * (100vw - 100%));
}

Пример. Нажатие кнопки "change min-height" скрывает\отображает скроллбар.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
7GIT
@7GIT
html {
    width:100vw;
    overflow-x:hidden;
}
Ответ написан
chesterOk
@chesterOk
Как вариант, можно отображать полосу прокрутки постоянно.

body {
  overflow-y: visible;
}
Ответ написан
Aligatro
@Aligatro
Turn food and coffee into software...
Без примера сказать сложно, но попробуйте overflow-x:hidden добавить к блоку.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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