Как сделать чтобы padding-right добавлялся только при overflow?

Есть DIV он может быть по вертикали с overflow а может быть и нет, то есть скролом или без оного.
Можно ли сделать на css без js, что если есть overflow (появился скрол), то добавлять отступ справа, чтобы он не прилипал к контенту, а если нет overflow, то не добавлять.
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae
Тлен
Для ширины скролла есть небольшой магический хак:
Если 100% - ширина экрана(и ваш контейнер растянут по всей ширине), то: calc(100vw - 100%) - ширина сколлбара. Используя это - можно что-то намагичить.:)

...upd: чтоб получить своё точное значение, независимо от ширины скроллбара, можно сделать так: calc(min(100vw - 100%, 1px) * 10), где результат min будет 1px или 0px в зависимости от наличия скроллбара, а 10 - любой нужный множитель.:)

...upd2:
Если ширина контейнера не равна ширине экрана, но как-то от неё всё-же зависит - всё то же самое, только чутка математики добавить.
Если ширина контейнера никак не зависит, то пока похоже действительно никак. (хотя может я и упускаю что-то)
Однако в будушем css можно будет, используя пару трюков:
1. Вот так уже можно в самом свежем хроме используя animation scroll(): https://www.bram.us/2023/09/16/solved-by-css-scrol...
2. Используя qw (ширину контейнера) можно будет когда таки работа с контейнерам доедет до браузеров.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час