1. Основные свойства контейнера (родительского элемента)
-
display: grid;
Включает режим Grid для контейнера. Без этого свойства Grid не работает.
-
grid-template-columns
Определяет количество и размеры колонок.
Примеры:
-
grid-template-columns: 1fr 1fr 1fr;
(три равные колонки)
-
grid-template-columns: 200px 1fr;
(первая колонка фиксированной ширины, вторая занимает оставшееся пространство)
-
grid-template-rows
Определяет количество и размеры строк.
Примеры:
-
gap
(или row-gap
и column-gap
)
Задает отступы между элементами сетки.
Примеры:
-
grid-template-areas
Позволяет задавать именованные области для размещения элементов.
Пример:
.container {
grid-template-areas:
"header header"
"main sidebar"
"footer footer";
}
-
justify-content
Выравнивает сетку по горизонтали внутри контейнера (если сетка меньше контейнера).
Примеры:
-
align-content
Выравнивает сетку по вертикали внутри контейнера (если сетка меньше контейнера).
Примеры:
-
grid-auto-rows
и grid-auto-columns
Задают размеры для автоматически создаваемых строк или колонок (если элементов больше, чем явно задано в grid-template-rows
или grid-template-columns
).
Пример:
2. Свойства для дочерних элементов (элементов сетки)
-
grid-column
Определяет, в каких колонках будет размещаться элемент.
Примеры:
-
grid-row
Определяет, в каких строках будет размещаться элемент.
Примеры:
-
grid-area
Позволяет разместить элемент в именованной области (если используется grid-template-areas
).
Пример:
.item {
grid-area: header; /* Элемент будет размещен в области "header" */
}
-
justify-self
Выравнивает элемент по горизонтали внутри своей ячейки.
Примеры:
-
align-self
Выравнивает элемент по вертикали внутри своей ячейки.
Примеры:
3. Полезные функции и единицы измерения
-
fr
(fraction)
Единица измерения, которая указывает долю доступного пространства.
Пример:
-
repeat()
Позволяет повторять шаблон для колонок или строк.
Пример:
-
minmax()
Задает минимальный и максимальный размер для колонок или строк.
Пример:
-
auto-fit
и auto-fill
Используются с repeat()
для автоматического заполнения пространства.
Пример:
4. Практические примеры использования
-
Создание сетки с фиксированными и гибкими колонками:
.container {
display: grid;
grid-template-columns: 200px 1fr 1fr;
gap: 10px;
}
-
Адаптивная сетка с использованием auto-fit
:
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 10px;
}
-
Использование именованных областей:
.container {
display: grid;
grid-template-areas:
"header header"
"main sidebar"
"footer footer";
}
.header { grid-area: header; }
.main { grid-area: main; }
.sidebar { grid-area: sidebar; }
.footer { grid-area: footer; }
5. Что важно запомнить:
-
display: grid;
— основа для работы с Grid.
-
grid-template-columns
и grid-template-rows
— основные свойства для создания структуры.
-
gap
— для отступов между элементами.
-
fr
, repeat()
, minmax()
— полезные инструменты для гибкой верстки.
-
grid-column
и grid-row
— для управления размещением элементов.
Эти свойства покрывают 90% задач, с которыми вы столкнетесь при работе с CSS Grid.