display
Определяет элемент как grid-контейнер.
.container {
display: grid; /* Блочный grid-контейнер */
display: inline-grid; /* Строчный grid-контейнер */
}grid-template-columns и grid-template-rows
Определяют количество и размеры столбцов и строк.
.container {
/* Три столбца: 100px, 1fr, 2fr */
grid-template-columns: 100px 1fr 2fr;
/* Две строки: 50px и автоматическая высота */
grid-template-rows: 50px auto;
/* Использование repeat() */
grid-template-columns: repeat(3, 1fr); /* 3 столбца по 1fr */
grid-template-rows: repeat(2, minmax(100px, auto));
/* Именованные линии */
grid-template-columns: [start] 1fr [middle] 1fr [end];
}grid-template-areas
Определяет именованные области сетки.
.container {
grid-template-areas:
"header header header"
"sidebar content content"
"footer footer footer";
}
.item-header { grid-area: header; }
.item-sidebar { grid-area: sidebar; }
.item-content { grid-area: content; }
.item-footer { grid-area: footer; }grid-template
Сокращенное свойство для grid-template-rows, grid-template-columns и grid-template-areas.
.container {
grid-template:
[row1-start] "header header header" 50px [row1-end]
[row2-start] "sidebar content content" 200px [row2-end]
/ 1fr 2fr 1fr;
}gap (grid-gap)
Определяет промежутки между элементами.
.container {
gap: 10px; /* Одинаковый gap для строк и столбцов */
row-gap: 15px; /* Только между строками */
column-gap: 20px; /* Только между столбцами */
/* Устаревший синтаксис (поддерживается для совместимости) */
grid-gap: 10px;
grid-row-gap: 15px;
grid-column-gap: 20px;
}justify-items
Выравнивает grid-элементы по горизонтали внутри их ячеек.
.container {
justify-items: start; /* Выравнивание по левому краю */
justify-items: end; /* Выравнивание по правому краю */
justify-items: center; /* Выравнивание по центру */
justify-items: stretch; /* Растягивание (по умолчанию) */
}align-items
Выравнивает grid-элементы по вертикали внутри их ячеек.
.container {
align-items: start; /* Выравнивание по верхнему краю */
align-items: end; /* Выравнивание по нижнему краю */
align-items: center; /* Выравнивание по центру */
align-items: stretch; /* Растягивание (по умолчанию) */
align-items: baseline; /* Выравнивание по базовой линии */
}place-items
Сокращенное свойство для align-items и justify-items.
.container {
place-items: center stretch; /* align-items justify-items */
place-items: start; /* Оба значения одинаковы */
}justify-content
Выравнивает всю сетку по горизонтали, если общий размер сетки меньше контейнера.
.container {
justify-content: start; /* Слева (по умолчанию) */
justify-content: end; /* Справа */
justify-content: center; /* По центру */
justify-content: stretch; /* Растянуть */
justify-content: space-around; /* Равные отступы вокруг */
justify-content: space-between; /* Равные отступы между */
justify-content: space-evenly; /* Полностью равные отступы */
}align-content
Выравнивает всю сетку по вертикали.
.container {
align-content: start; /* Сверху */
align-content: end; /* Снизу */
align-content: center; /* По центру */
align-content: stretch; /* Растянуть (по умолчанию) */
align-content: space-around; /* Равные отступы вокруг */
align-content: space-between; /* Равные отступы между */
align-content: space-evenly; /* Полностью равные отступы */
}place-content
Сокращенное свойство для align-content и justify-content.
.container {
place-content: center start; /* align-content justify-content */
}grid-auto-columns и grid-auto-rows
Определяют размер автоматически создаваемых строк и столбцов.
.container {
grid-auto-columns: 100px; /* Размер автоматических столбцов */
grid-auto-rows: minmax(100px, auto); /* Размер автоматических строк */
}grid-auto-flow
Управляет алгоритмом автоматического размещения элементов.
.container {
grid-auto-flow: row; /* Заполнять по строкам (по умолчанию) */
grid-auto-flow: column; /* Заполнять по столбцам */
grid-auto-flow: dense; /* Плотное заполнение пробелов */
grid-auto-flow: row dense; /* По строкам с плотным заполнением */
}