В веб-разработке часто встречаются ситуации, когда вам необходимо центрировать элемент по вертикали внутри прокручиваемого контейнера. Добиться вертикального центрирования может быть непросто, но не бойтесь! В этой статье мы рассмотрим несколько методов достижения этой цели с помощью CSS, а также примеры кода. Давайте погрузимся!
Метод 1: Flexbox
Flexbox обеспечивает простой и эффективный способ центрирования элементов по вертикали. Примените к контейнеру следующий CSS:
центр;
Метод 2: ячейка таблицы
Используя свойство отображения ячейки таблицы, мы также можем добиться вертикального центрирования. Примените к контейнеру следующий CSS:
.container {
display: table-cell;
vertical-align: middle;
}
Метод 3: Grid
CSS Grid — еще одна мощная система компоновки, которая позволяет центрировать элементы по вертикали. Примените к контейнеру следующий CSS:
.container {
display: grid;
place-items: center;
}
Метод 4: положение и преобразование
Этот метод использует абсолютное позиционирование и свойство преобразования. Примените к контейнеру следующий CSS:
Метод 5: CSS Calc
С помощью функции CSS Calc() мы можем вычислить соответствующие значения позиционирования. Примените к контейнеру следующий CSS:
.container {
position: relative;
}
.element {
position: absolute;
top: calc(50% - (elementHeight / 2));
left: calc(50% - (elementWidth / 2));
}
Метод 6: Flexbox и переполнение
Если у вас есть прокручиваемый контейнер и вы хотите центрировать элемент по вертикали, не допуская при этом его переполнения, используйте этот метод. Примените к контейнеру следующий CSS:
center;
overflow-y: прокрутка;
В этой статье мы рассмотрели несколько методов вертикального центрирования элементов CSS в прокручиваемом контейнере. Независимо от того, предпочитаете ли вы использовать Flexbox, table-cell, Grid, позиционирование или расчет CSS, теперь в вашем распоряжении целый ряд методов. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим конкретным потребностям. Приятного кодирования!