CSS-свойство `grid`
Базовая поддержка Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она поддерживается браузерами с октября 2017 года.
grid — CSS-свойство сокращённой записи, которое задаёт все явные и неявные свойства сетки в одном объявлении.
С помощью grid вы задаёте одну ось с помощью grid-template-rows или grid-template-columns, а затем задаёте, как содержимое должно автоматически повторяться по другой оси, используя свойства неявной сетки: grid-auto-rows, grid-auto-columns и grid-auto-flow.
Попробуйте
grid: auto-flow / 1fr 1fr 1fr;
grid: auto-flow dense / 40px 40px 1fr;
grid: repeat(3, 80px) / auto-flow;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-gap: 10px;
width: 200px;
}
#example-element :nth-child(1) {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
#example-element :nth-child(2) {
background-color: rgb(255 0 200 / 0.2);
border: 3px solid rebeccapurple;
grid-column: auto / span 3;
grid-row: auto / span 2;
}
#example-element :nth-child(3) {
background-color: rgb(94 255 0 / 0.2);
border: 3px solid green;
grid-column: auto / span 2;
}
Примечание: Неуказанные под-свойства получают начальные значения, как обычно для сокращённых свойств. Кроме того, свойства промежутков НЕ сбрасываются этим сокращённым свойством.
Составные свойства
Это свойство является сокращённой записью следующих свойств CSS:
grid-auto-columnsgrid-auto-flowgrid-auto-rowsgrid-template-areasgrid-template-columnsgrid-template-rows
Синтаксис
/* <'grid-template'> values */ grid: none; grid: "a" 100px "b" 1fr; grid: [line-name1] "a" 100px [line-name2]; grid: "a" 200px "b" min-content; grid: "a" minmax(100px, max-content) "b" 20%; grid: 100px / 200px; grid: minmax(400px, min-content) / repeat(auto-fill, 50px); /* <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? values */ grid: 200px / auto-flow; grid: 30% / auto-flow dense; grid: repeat(3, 200px) / auto-flow 300px; grid: [line1] minmax(20em, max-content) / auto-flow dense 40%; /* [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> values */ grid: auto-flow / 200px; grid: auto-flow dense / 30%; grid: auto-flow 300px / repeat(3, 200px); grid: auto-flow dense 40% / [line1] minmax(20em, max-content); /* Global values */ grid: inherit; grid: initial; grid: revert; grid: revert-layer; grid: unset;
Значения
-
<'grid-template'> - Задаёт
grid-template, включаяgrid-template-columns,grid-template-rowsиgrid-template-areas. -
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? -
Настраивает автоматическое заполнение: явно задаёт строки сетки с помощью свойства
grid-template-rows(а свойствуgrid-template-columnsзадаёт значениеnone) и указывает, как автоматически повторять столбцы сетки с помощьюgrid-auto-columns(а свойствуgrid-auto-rowsзадаёт значениеauto). Соответствующим образом задаётся иgrid-auto-flow, которому присваивается значениеcolumn, сdense, если оно указано.Все остальные под-свойства
gridсбрасываются до начальных значений. -
[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'> -
Настраивает автоматическое заполнение: явно задаёт столбцы сетки с помощью свойства
grid-template-columns(а свойствуgrid-template-rowsзадаёт значениеnone) и указывает, как автоматически повторять строки сетки с помощьюgrid-auto-rows(а свойствуgrid-auto-columnsзадаёт значениеauto). Соответствующим образом задаётся иgrid-auto-flow, которому присваивается значениеrow, сdense, если оно указано.Все остальные под-свойства
gridсбрасываются до начальных значений.
Формальное определение
| Начальное значение | как у каждого из свойств сокращённой записи: |
|---|---|
| Применяется к | контейнерам сетки |
| Наследуется | нет |
| Проценты | как у каждого из свойств сокращённой записи: |
| Вычисленное значение | как у каждого из свойств сокращённой записи: |
| Тип анимации | как у каждого из свойств сокращённой записи: |
Формальный синтаксис
grid =
<'grid-template'> |
<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? |
[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
Примеры
Создание макета сетки
HTML
<div id="container"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div>
CSS
#container {
display: grid;
grid: repeat(2, 60px) / auto-flow 80px;
}
#container > div {
background-color: #8ca0ff;
width: 50px;
height: 50px;
}
Результат
Спецификации
| Спецификация |
|---|
| Модуль CSS Grid Layout, уровень 2 # grid-shorthand |
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
grid |
57 |
16 |
52 |
44 |
10.1 |
57 |
52 |
43 |
10.3 |
6.0Эта функция была добавлена раньше, поэтому её версия не синхронизирована с соответствующей версией Chromium. |
57 |
10.3 |
none |
57 |
16 |
52 |
44 |
10.1 |
57 |
52 |
43 |
10.3 |
7.0 |
57 |
10.3 |
См. также
grid-templategrid-template-rowsgrid-template-columnsgrid-template-areasgrid-auto-columnsgrid-auto-rowsgrid-auto-flow- Размещение по линиям в CSS Grid
- Именованные области сетки: сокращённые записи для определения сетки
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/grid