PassFront
  1. PassFront
  2. База знаний
  3. Flexbox

Как отцентровать блок с помощью Flex?

Flexbox

Блок центрируется во flex-контейнере двумя свойствами: `justify-content` по главной оси и `align-items` по поперечной.

.wrapper {
  display: flex;
  justify-content: center; /* по горизонтали */
  align-items: center;     /* по вертикали */
  min-height: 100vh;
}

Другие варианты

  • `margin: auto` у ребёнка во flex-контейнере центрирует его по обеим осям:
.wrapper { display: flex; }
.box { margin: auto; }
  • `place-items: center` у grid-контейнера делает то же самое одной строкой:
.wrapper { display: grid; place-items: center; }

Частая ошибка

Вертикальное центрирование не работает, если у контейнера нет высоты: align-items центрирует внутри доступного пространства.

Коротко для собеседования

display: flex; justify-content: center; align-items: center; у родителя (и высота у контейнера), либо margin: auto у ребёнка.

Подробнее: MDN — Выравнивание во flex-контейнере

Другие вопросы раздела