Урок 29. Справочник: Flexbox vs Grid: сравнение

📁 Раздел: CSS Grid ⏱️ Время изучения: ~55 мин 🎯 Сложность: Средняя

⚡ Кратко

Flexbox — одна ось (1D), gap, гибкие размеры под контент. Grid — две оси (2D), строки и колонки, заранее заданная сетка. Сравнительная таблица ниже.

Сравнение по критериям

КритерийFlexboxGrid
РазмерностьОдномерный (1D) — одна осьДвумерный (2D) — строки и колонки
Кто диктует раскладкуКонтент (элементы)Контейнер (сетка)
Включениеdisplay: flexdisplay: grid
Главные свойстваjustify-content, align-items, flexgrid-template-columns/rows, grid-area
Промежуткиgapgap
Переносflex-wrap (линия рвётся, но не выравнивается в колонки)Сетка задаёт колонки сразу, ряды ровные
Типичная задачаНавбар, ряд кнопок, тулбар, центрированиеКаркас страницы, галерея карточек, сложные сетки

Что выбрать под задачу

ЗадачаЛучше FlexboxЛучше Grid
Навбар / меню в один ряд✅ ДаИзбыточно
Центрирование одного блока✅ ДаМожно
Ряд тегов / кнопок✅ ДаИзбыточно
Каркас страницы (шапка/сайдбар/контент/футер)Сложно✅ Да
Галерея карточек строками и колонкамиКриво (flex-wrap)✅ Да
Содержимое внутри одной ячейки✅ Да
Правило выбора: «линия» → Flexbox, «сетка» → Grid. Если сомневаешься, начни с Flexbox; как только появляется потребность выровнять элементы и по горизонтали, и по вертикали одновременно — переходи на Grid.

Как проверять в DevTools

Откройте F12, выберите контейнер. Рядом с элементом появится бейдж flex или grid — нажмите его, чтобы включить overlay: для Grid видны линии, треки и gap; для Flexbox — оси и распределение.

Навигация