PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Сравни способы выравнивания элемента и объясни, когда выбирать каждый вариант.

Продвинутые темы

Способы выравнивания элемента: Flexbox (`justify-content`/`align-items`), Grid (`place-items`), `text-align`/`margin: auto`, absolute + transform. Выбор — по контексту (текст, блок, центрирование).

Способы

Flexbox (современный, гибкий)

.container {
  display: flex;
  justify-content: center; /* по главной оси (горизонталь) */
  align-items: center;      /* по поперечной оси (вертикаль) */
}

Когда: выравнивание элементов в ряд/колонку, центрирование — универсальный выбор.

Grid

.container {
  display: grid;
  place-items: center; /* центр по обеим осям */
}

Когда: двумерные раскладки, центрирование одного элемента.

text-align (для inline/текста)

.container { text-align: center; } /* текст, inline-элементы */

Когда: выравнивание текста и inline-содержимого.

margin: auto

.block { margin: 0 auto; width: 300px; } /* блок по горизонтали */

Когда: центрирование блочного элемента по горизонтали (нужна ширина).

Absolute + transform

.el {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%); /* точный центр */
}

Когда: центрирование поверх (оверлеи, модалки).

Как выбирать

  • Элементы в ряд/колонку, центрирование → Flexbox (дефолт).
  • Двумерная сетка → Grid.
  • Текст/inline → text-align.
  • Блок по горизонтали → margin: auto.
  • Абсолютное центрирование → transform.

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

Выравнивание: Flexbox (justify-content/align-items — универсальный выбор для рядов/центрирования), Grid (place-items: center — двумерные, центрирование), text-align (текст/inline), margin: auto (блок по горизонтали), absolute + translate(-50%,-50%) (точный центр, оверлеи). Дефолт — Flexbox; для сеток — Grid.

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