Skip to content

CSS Grid объяснённый

Все типовые свойства CSS grid, сгруппированные по месту применения: контейнер, элемент и единицы размера. Каждая строка сочетает свойство с его типовыми значениями.

Grid раскладывает элементы в двух измерениях: строки и столбцы одновременно. Задайте родителю display: grid, определите дорожки через grid-template-columns и grid-template-rows и разместите дочерние элементы в ячейках. Используйте grid для макетов страниц и карточек; используйте flexbox для одномерных полос. Они свободно сочетаются.

Справочная таблица · 33 записи
33 of 33 rows
Контейнер
grid | inline-gridПревращает элемент в grid-контейнер.
1fr 1fr | repeat(3, 1fr) | 200px 1frОпределяет столбцы и их ширину.
auto 1fr autoОпределяет строки и их высоту.
[main-start] 1fr [main-end]Даёт линиям сетки имена в шаблоне и размещает элементы по этим именам.
1rem | 8px 16pxПромежуток между строками и столбцами.
"header header" "nav main"Даёт ячейкам имена для удобочитаемого размещения.
"head head" 64px "nav main" 1fr / 200px 1frЗадаёт строки, столбцы и области одним сокращением.
repeat(2, 1fr) / auto-flow 80pxЗадаёт все свойства дорожек и grid-auto-flow в одном объявлении.
minmax(80px, auto)Задаёт высоту строк, которые шаблон не определяет.
120px | minmax(0, 1fr)Задаёт ширину столбцов, которые шаблон не определяет.
row | column | row denseВыбирает ось для неразмещённых элементов; dense заполняет более ранние пробелы.
start | center | end | stretchВыравнивает каждый элемент в его ячейке вдоль оси строк.
start | center | end | stretchВыравнивает каждый элемент в его ячейке вдоль оси столбцов.
center | start endЗадаёт align-items и justify-items в одном объявлении.
start | center | space-betweenВыравнивает сетку дорожек внутри контейнера вдоль оси строк.
start | center | space-betweenВыравнивает сетку дорожек внутри контейнера вдоль оси столбцов.
center | end startЗадаёт align-content и justify-content в одном объявлении.
Элемент
1 / 3 | span 2Размещает элемент по столбцам или растягивает его на несколько.
1 / 2 | span 3Размещает элемент по строкам или растягивает его на несколько.
grid-column: 2 / -1Отсчитывает линии от конца сетки; -1 — последняя линия.
header | 1 / 1 / 2 / 3Даёт элементу имя или полностью размещает его одним сокращением.
start | center | end | stretchВыравнивает только этот элемент в его ячейке вдоль оси строк.
start | center | end | stretchВыравнивает только этот элемент в его ячейке вдоль оси столбцов.
center | start endЗадаёт align-self и justify-self в одном объявлении.
Единицы размера
1fr | 2frДоля свободного места в дорожке.
auto | 1fr autoРазмеряет дорожку по содержимому; выравнивание может её растянуть.
min-content | max-contentРазмеряет дорожку по самому маленькому или самому большому содержимому.
fit-content(180px)Размеряет дорожку по содержимому, но не сверх заданного предела.
minmax(200px, 1fr)Ограничивает дорожку между минимумом и максимумом.
repeat(4, 1fr)Повторяет шаблон дорожек, не выписывая каждую отдельно.
repeat(auto-fit, minmax(120px, 1fr))Добавляет столько дорожек, сколько помещается; auto-fit схлопывает пустые.
grid-template-columns: subgridЗаставляет вложенную сетку использовать дорожки и имена линий родителя.
grid-template-rows: masonryЭкспериментальное: упаковывает элементы в столбцы по высоте вместо фиксированных строк.