Skip to main content

Чим CSS Grid відрізняється від Flexbox?

Коротко

Flexbox - для однієї осі, Grid - для двох.

Різниця по суті

ЩоFlexboxGrid
ОсіОдновимірна система (або рядок, або колонка)Двовимірна система (рядки + колонки одночасно)
Коли зручнийВирівнювати і розподіляти елементи в лініюСтворювати повноцінні макети і сітки
ЛогікаКонтент «сам» формує структуруСпочатку задається сітка, потім розкладається контент
Керуванняjustify-content і align-items вздовж однієї осіЧітке керування рядками і колонками (grid-template-*, grid-area)
СценаріїМеню, кнопки, картки в ряд, хедери, елементи в блоціГалереї, повноцінні макети сторінок, сітки, таблиці, складні дизайни

Проста формула для запам'ятовування

  • Flexbox: потоковий, «елементи самі вибудовуються»
  • Grid: «креслення», ти задаєш сітку і розміщуєш елементи за координатами

Підсумок

Flexbox - для вирівнювання всередині рядка або колонки. Grid - для побудови сітки макета.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.