.scrollable{
max-height: 450px;/* аксимальная высота страницы */
overflow-y: auto;/* Прокрутка активируется при необходимости */
}
Когда содержимое превысит установленную высоту блока, появится полоса прокрутки.
Укрощение переполнения контента
Переполнение контента можно контролировать с помощью CSS, выбрав подходящий вариант поведения:
overflow: scroll– полоса прокрутки показывается всегда.overflow: auto– полоса прокрутки появляется только при переполнении.overflow: hidden– лишний контент скрывается.overflow: visible– переполненный контент отображается за пределами блока.
Рекомендуется использовать единицы измерения в процентах или относительно видимой области экрана для достижения гибкости верстки:
.scrollable-responsive{
max-height: 75vh;/* Высота блока в процентах от области просмотра */
overflow-y: auto;
}
Адаптивный дизайн полос прокрутки
С помощью медиазапросов вы можете добиться того, чтобы прокручиваемый элемент корректно отображался на различных устройствах:
.scrollable {
max-height: 450px;
overflow-y: auto;
}
/* Корректируем высоту для мобильных устройств */
@media (max-width: 600px) {
.scrollable {
max-height: 300px;
}
}
Управление позиционированием
Иногда вам придётся скоординировать поведение прокрутки с свойствами позиционирования:
float: leftприжимает элементы к левому краю.position: relativeилиabsolute, в сочетании сtop,right,bottom,left, позволяют точно разместить блок.- При построении современных макетов рекомендуется использовать
flexboxилиgrid.
Пример использования в контексте флекс-контейнера:
.container {
display: flex; /* Используем flexbox для управления пространством */
}
.scrollable {
flex: 1; /* Занимает предоставленное пространство */
max-height: 450px;
overflow-y: auto;
}
Визуализация
Представьте div как трубу для проведения пищи, а контент — как блюда:
🌵🌵🌵🌵🌵🌵🌵
🌵🍔🥗🍕🍔🥗🍕🌵
🌵🌵🌵🌵🌵🌵🌵
🖱️ Прокручивайте, чтобы увидеть больше 🔻
Установленное значение overflow в scroll создаёт "скользящий путь" для содержимого:
.digestive-tract {
overflow-y: scroll; /* Сбой в системе устранен */
}
Таким образом, div становится идеальной системой, где каждый элемент находится на своем месте:
До: 🔲🍔🥗[...]🍕 // Блюда скрыты от глаз
После: 🔲🔲🔲🔲🔲🔲🔲 // Прокрутите, чтобы увидеть все блюда 🖱️🔻