Урок 08. Справочник: классы flex

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

⚡ Кратко

flex, flex-col, justify-*, items-*, gap-*, flex-1, shrink-0, flex-wrap.

display

КлассCSSКогда
blockdisplay: blockобычный блок
inline-blockdisplay: inline-blockэлемент в строке с отступами
inlinedisplay: inlineвнутри текста
flexdisplay: flexраскладка по одной оси
inline-flexdisplay: inline-flexкнопка с иконкой
griddisplay: gridсетка (урок 09)
hiddendisplay: noneскрыть элемент
contentsdisplay: contents«растворить» обёртку

Направление и перенос

КлассCSS
flex-rowflex-direction: row (по умолчанию)
flex-colflex-direction: column
flex-row-reverse, flex-col-reverseобратный порядок
flex-wrapflex-wrap: wrap
flex-nowrapзапретить перенос

Выравнивание

КлассОсьРезультат
justify-startглавнаяк началу
justify-centerглавнаяпо центру
justify-endглавнаяк концу
justify-betweenглавнаякрайние к краям, остальные равномерно
justify-around / justify-evenlyглавнаяравные промежутки
items-startпоперечнаяк началу
items-centerпоперечнаяпо центру
items-endпоперечнаяк концу
items-baselineпоперечнаяпо базовой линии текста
items-stretchпоперечнаярастянуть (по умолчанию)
self-start, self-center, self-endпоперечнаявыравнивание одного элемента
content-center, content-betweenстроки при переносемногострочный flex

Поведение элементов

КлассCSSСмысл
flex-1flex: 1 1 0%занять свободное место
flex-autoflex: 1 1 autoрасти, учитывая содержимое
flex-initialflex: 0 1 autoсжиматься, но не расти
flex-noneflex: noneфиксированный размер
grow / grow-0flex-growразрешить/запретить рост
shrink / shrink-0flex-shrinkразрешить/запретить сжатие
basis-0, basis-1/2, basis-64flex-basisстартовый размер
order-1, order-first, order-lastorderпорядок отображения
min-w-0min-width: 0разрешить сжатие ниже содержимого

Готовые сочетания

ЗадачаКлассы
Центрировать содержимоеflex items-center justify-center
Шапка «лого — кнопки»flex items-center justify-between
Иконка + текст в кнопкеinline-flex items-center gap-2
Липкий футерflex min-h-svh flex-col + flex-1 у контента
Колонка с промежуткамиflex flex-col gap-4
Правый блок прижат к краюms-auto у элемента