This page was translated from English by the community.Learn more and join the MDN Web Docs community.
grid
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since октябрь 2017 г..
Общие сведения
Свойство CSSgrid является сокращённой формой записи, которая устанавливает значения для всех явных свойств сетки (grid) (grid-template-rows,grid-template-columns, иgrid-template-areas), всех неявных свойств сетки (grid) (grid-auto-rows,grid-auto-columns, иgrid-auto-flow), и свойств для промежутков между рядами и столбцами сетки (grid-column-gap иgrid-row-gap) в одной строчке.
Примечание:В одной строке grid могут быть описаны свойства только одного вида: явные или неявные. Подсвойства, которые не были описаны, принимают, как и в других сокращённых формах записи свойств, значения по умолчанию. Кроме того, при помощи сокращённой формы записи значения свойств для промежутков между рядами и столбцами сетки по умолчанию сбрасываются, несмотря на то, что они не могут быть установлены в сокращённой форме записи.
| Начальное значение | как и у каждого из подсвойств этого свойства:
|
|---|---|
| Применяется к | сеточные контейнеры |
| Наследуется | нет |
| Проценты | как и у каждого из подсвойств этого свойства:
|
| Обработка значения | как и у каждого из подсвойств этого свойства:
|
| Animation type | как и у каждого из подсвойств этого свойства:
|
In this article
Синтаксис
/* <'grid-template'> значения*/grid: none;grid: "a" 100px "b" 1fr;grid: [linename1] "a" 100px [linename2];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, [line1 line2 line3] 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, [line1 line2 line3] 200px);grid: auto-flow dense 40% / [line1] minmax(20em, max-content);/* Global values */grid: inherit;grid: initial;grid: unset;Значения
<'grid-template'>Определяет
grid-template(шаблон сетки) включаяgrid-template-columns(столбцы),grid-template-rows(ряды) иgrid-template-areas(области).<'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?Устанавливает auto-flow явно задавая размещение по рядам с помощью свойства
grid-template-rows(и устанавливая свойствоgrid-template-columnsв значениеnone) и уточняет, как должно работать авто-повторение столбцов при помощи свойстваgrid-auto-columns(и устанавливаяgrid-auto-rowsв значениеauto). Свойствоgrid-auto-flowможет быть так же установлено для столбцов со свойствомdenseесли оно определено.Все остальные подсвойства grid сбрасываются в их начальные значения .[ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>Устанавливает auto-flow явно задавая размещение по столбцам с помощью свойства
grid-template-columns(и устанавливая свойствоgrid-template-rowsв значениеnone) и уточняет, как должно работать авто-повторение рядов при помощи свойстваgrid-auto-rows(и устанавливаяgrid-auto-columnsв значениеauto). Свойствоgrid-auto-flowможет быть так же установлено для рядов со свойствомdenseесли оно определено.Все остальные подсвойства grid сбрасываются в их начальные значения .
Formal syntax
grid =
<'grid-template'>|
<'grid-template-rows'> /[auto-flow&&dense?]<'grid-auto-columns'>?|
[auto-flow&&dense?]<'grid-auto-rows'>? /<'grid-template-columns'>
<grid-template> =
none|
[<'grid-template-rows'> /<'grid-template-columns'>]|
[<line-names>?<string><track-size>?<line-names>?]+[ /<explicit-track-list>]?
<grid-template-rows> =
none|
<track-list>|
<auto-track-list>|
subgrid<line-name-list>?
<grid-auto-columns> =
<track-size>+
<grid-auto-rows> =
<track-size>+
<grid-template-columns> =
none|
<track-list>|
<auto-track-list>|
subgrid<line-name-list>?
<line-names> =
'['<custom-ident>* ']'
<track-size> =
<track-breadth>|
minmax(<inflexible-breadth> ,<track-breadth>)|
fit-content(<length-percentage [0,∞]>)
<explicit-track-list> =
[<line-names>?<track-size>]+<line-names>?
<track-list> =
[<line-names>?[<track-size>|<track-repeat>]]+<line-names>?
<auto-track-list> =
[<line-names>?[<fixed-size>|<fixed-repeat>]]*<line-names>?<auto-repeat>[<line-names>?[<fixed-size>|<fixed-repeat>]]*<line-names>?
<line-name-list> =
[<line-names>|<name-repeat>]+
<track-breadth> =
<length-percentage [0,∞]>|
<flex [0,∞]>|
min-content|
max-content|
auto
<inflexible-breadth> =
<length-percentage [0,∞]>|
min-content|
max-content|
auto
<length-percentage> =
<length>|
<percentage>
<track-repeat> =
repeat([<integer [1,∞]>] ,[<line-names>?<track-size>]+<line-names>?)
<fixed-size> =
<fixed-breadth>|
minmax(<fixed-breadth> ,<track-breadth>)|
minmax(<inflexible-breadth> ,<fixed-breadth>)
<fixed-repeat> =
repeat([<integer [1,∞]>] ,[<line-names>?<fixed-size>]+<line-names>?)
<auto-repeat> =
repeat([auto-fill|auto-fit] ,[<line-names>?<fixed-size>]+<line-names>?)
<name-repeat> =
repeat([<integer [1,∞]>|auto-fill] ,<line-names>+)
<fixed-breadth> =
<length-percentage [0,∞]>
Example
>HTML Content
<div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div></div>CSS Content
#container { display: grid; grid: repeat(2, 60px) / auto-flow 80px;}#container > div { background-color: #8ca0ff; width: 50px; height: 50px;}Результат
Спецификации
| Specification |
|---|
| CSS Grid Layout Module Level 2> # grid-shorthand> |
Совместимость с браузерами
Смотрите также
- Связанные свойства CSS:
grid-template,grid-template-rows,grid-template-columns,grid-template-areas,grid-auto-columns,grid-auto-rows,grid-auto-flow - Руководство по разметке сетки:Line-based placement with CSS Grid
- Руководство по разметке сетки:Grid template areas - Grid definition shorthands