🧰 Flexbox & Grid свойства выравнивания#
#
Flexbox#
Контейнер с display: flex:
Свойство |
Ось |
Описывает что-то вроде |
Примеры значений |
|---|---|---|---|
|
Main-axis (основная ось: строка или колонка) |
выравнивание элементов вдоль основной оси (горизонтально, если flex-direction: row) |
|
|
Cross-axis (перпендикулярная основная ось) |
выравнивание всех элементов по поперечной оси |
|
|
Cross-axis, когда много строк (flex-wrap) |
как распределить свободное вертикальное пространство между строками |
|
Также у элементов Flexbox можно задавать:
Свойство |
Для кого |
Что делает |
|---|---|---|
|
для конкретного flex-элемента |
переопределяет |
Grid#
Grid даёт больше возможностей, т.к. есть и две оси, и более точечное управление.
Свойство |
Контейнер или элемент |
Ось / область |
Что делает |
|---|---|---|---|
|
grid-контейнер |
block-ось (вертикально, если пишем по-английски «block direction») |
выравнивает все элементы в клетках по вертикали (или по направлению block) внутрях их grid area (MDN Web Docs) |
|
контейнер |
inline-ось (горизонтально) |
выравнивание содержимого внутри клеток по горизонтали (MDN Web Docs) |
|
отдельный grid-элемент |
аналогично, переопределяют |
|
|
контейнер |
inline-ось |
выравнивание самих треков/колонок в пределах всего grid-контейнера, если grid меньше по ширине контейнера (MDN Web Docs) |
|
контейнер |
block-ось |
выравнивание строк или треков внутри grid если есть лишнее пространство по высоте контейнера (MDN Web Docs) |
|
контейнер |
shorthand для |
|
|
контейнер |
shorthand для |
🔗 Документация и статьи#
MDN на русском — Flexbox: выравнивание и распределение элементов “Flexbox — основы выравнивания” разделы. (MDN Web Docs)
MDN на русском — Grid Layout, раздел “Box-alignment in grid layout” (выравнивание элементов в сетке) (MDN Web Docs)
Руководство “How To Use CSS Grid Properties to Justify and Align Content and Items” на DigitalOcean — подробное, с примерами. (англ., но хороший язык, примеры наглядные) (DigitalOcean)