Перейти к основному содержимому

Вертикальное центрирование

Чтобы центрировать что-либо по вертикали в CSS, используйте современную технику компоновки, такую как Flexbox или Grid, либо позиционирование с трансформациями.


Центрирование с Flexbox

Flex-контейнер CSS может центрировать свои элементы как по горизонтали, так и по вертикали.

Для контейнера нужно задать два свойства: justify-content и align-items. Присвойте обоим значение center, и элементы будут центрированы по каждой оси.

Пример

Prompt
Центрируйте текст по горизонтали и вертикали внутри контейнера с помощью flexbox. У контейнера должно быть display: flex, justify-content: center, align-items: center, height 200px и border 3px solid green. Отобразите «Я центрирован по вертикали и горизонтали.»
Output: complete HTML page

Центрирование с Grid

Grid-контейнер CSS может делать то же самое, центрируя элементы в обоих направлениях.

Здесь достаточно одного свойства: если задать place-items значение center для grid-контейнера, элементы будут центрированы по каждой оси.

Пример

Prompt
Центрируйте текст по горизонтали и вертикали внутри контейнера с помощью CSS Grid. У контейнера должно быть display: grid, place-items: center, height 200px и border 3px solid green. Отобразите «Я центрирован по вертикали и горизонтали.»
Output: complete HTML page

Центрирование с помощью position и transform

Когда размеры элемента неизвестны или динамичны, сочетайте position: absolute с transform: translate(), чтобы центрировать его.

Пример

Prompt
Центрируйте абзац по горизонтали и вертикали внутри контейнера с помощью position: absolute и transform: translate(-50%, -50%). У контейнера должно быть position: relative, height 200px и border 3px solid green. Абзац использует top: 50%, left: 50% и transform: translate(-50%, -50%).
Output: complete HTML page