← Все вопросы

Как отцентрировать блок по центру экрана (и по горизонтали, и по вертикали)?

Задан 11 месяцев назад1.3к просмотров4 ответа
21

Есть div с текстом, хочу чтобы он был ровно в центре страницы и по ширине, и по высоте. Видел кучу способов с margin, position, но всё время что-то не так. Как сделать по-человечески в 2026?

4 ответа

38
✓ Принятый ответ — помог автору

Самый простой способ — flexbox на родителе:

.parent {
  display: flex;
  justify-content: center; /* по горизонтали */
  align-items: center;     /* по вертикали */
  height: 100vh;           /* чтобы родитель занял весь экран */
}

Главное — не забыть высоту родителю (100vh = вся высота окна), иначе центрировать по вертикали будет нечего: блок прижмётся к верху. Сам центрируемый блок трогать не надо.

Dmitry Permiakou вот про 100vh и был мой косяк, спасибо 🙏 · 11 месяцев назад
Дмитрий Цмыг автор: то что надо, принято · 11 месяцев назад
15

Можно ещё через grid в одну строчку:

.parent {
  display: grid;
  place-items: center;
  height: 100vh;
}

place-items: center центрирует сразу по обеим осям. Лично мне это даже короче flex'а нравится.

6

Флексбоксом.

-5

Сделай margin: 0 auto и всё.

Сергей Ерошевич это центрирует только по горизонтали и только при заданной ширине, по вертикали не сработает · 11 месяцев назад

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект