grid-area
Базовая линия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с октября 2017 года.
Свойство grid-area CSS сокращённой записи определяет размер и расположение элемента сетки в сетке, внося линию, размах или ничего (автоматическое) в его расположение в сетке, тем самым определяя края его области сетки.
Попробовать
Если указано четыре <grid-line> значения, grid-row-start устанавливается на первое значение, grid-column-start на второе, grid-row-end на третье, и grid-column-end на четвёртое.
Когда grid-column-end опущено, если grid-column-start является <custom-ident>, grid-column-end устанавливается на это <custom-ident>; в противном случае, оно устанавливается на auto.
Когда grid-row-end опущено, если grid-row-start является <custom-ident>, grid-row-end устанавливается на это <custom-ident>; в противном случае, оно устанавливается на auto.
Когда grid-column-start опущено, если grid-row-start является <custom-ident>, все четыре полных записи устанавливаются на это значение. В противном случае, оно устанавливается на auto.
Свойство grid-area также может быть установлено на <custom-ident>, которое действует как имя области, которую затем можно разместить с помощью grid-template-areas.
Составляющие свойства
Это свойство является сокращением для следующих свойств CSS:
Синтаксис
/* Keyword values */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* <custom-ident> values */ grid-area: some-grid-area; grid-area: some-grid-area / another-grid-area; /* <integer> && <custom-ident>? values */ grid-area: 4 some-grid-area; grid-area: 4 some-grid-area / 2 another-grid-area; /* span && [ <integer> || <custom-ident> ] values */ grid-area: span 3; grid-area: span 3 / span some-grid-area; grid-area: 2 span / another-grid-area span; /* Global values */ grid-area: inherit; grid-area: initial; grid-area: revert; grid-area: revert-layer; grid-area: unset;
Значения
auto-
Это ключевое слово, указывающее, что свойство ничего не вносит в расположение элемента сетки, указывая автоматическое размещение или стандартный размах
1. <custom-ident>-
Если есть именованная линия с именем
<custom-ident>-startили<custom-ident>-end, она вносит первую такую линию в расположение элемента сетки.Примечание: Именные области сетки автоматически генерируют неявные именованные линии такого формата, поэтому указание
grid-area: foo;выберет начальный/конечный край этой именованной области сетки (если не была явно указана другая линия с именемfoo-start/foo-end).В противном случае, это рассматривается так, как будто указано целое число
1вместе с<custom-ident>. <integer> && <custom-ident>?-
Вносит n-ю линию сетки в расположение элемента сетки. Если задано отрицательное целое число, оно вместо этого считает в обратном порядке, начиная с конечного края явной сетки.
Если имя задано как
<custom-ident>, учитываются только линии с этим именем. Если таких линий недостаточно, все неявные линии сетки предполагаются имеющими это имя для определения этого положения.Значение
<integer>0недопустимо. span && [ <integer> || <custom-ident> ]-
Вносит размах сетки в размещение элемента сетки так, чтобы соответствующий край области сетки элемента сетки находился на расстоянии n линий от противоположного края.
Если имя задано как
<custom-ident>, учитываются только линии с этим именем. Если таких линий недостаточно, все неявные линии сетки на стороне явной сетки, соответствующей направлению поиска, предполагаются имеющими это имя для подсчёта этого размаха.Если
<integer>опущено, по умолчанию используется1. Отрицательные целые числа или 0 недопустимы.
Формальное определение
| Начальное значение | как каждое из свойств сокращения:
|
|---|---|
| Применимо к | элементам сетки и блокам с абсолютным позиционированием, содержащий блок которых является контейнером сетки |
| Наследуется | нет |
| Вычисленное значение | как каждое из свойств сокращения:
|
| Тип анимации | дискретная |
Формальный синтаксис
grid-area =
<grid-line> [ / <grid-line> ]{0,3}
<grid-line> =
auto |
<custom-ident> |
[ [ <integer [-∞,-1]> | <integer [1,∞]> ] && <custom-ident>? ] |
[ span && [ <integer [1,∞]> || <custom-ident> ] ]
Примеры
Настройка областей сетки
HTML
<div id="grid"> <div id="item1"></div> <div id="item2"></div> <div id="item3"></div> </div>
CSS
#grid {
display: grid;
height: 100px;
grid-template: repeat(4, 1fr) / 50px 100px;
}
#item1 {
background-color: lime;
grid-area: 2 / 2 / auto / span 3;
}
#item2 {
background-color: yellow;
}
#item3 {
background-color: blue;
}
Результат
Спецификации
| Спецификация |
|---|
| CSS Grid Layout Module Level 2 # propdef-grid-area |
Совместимость браузеров
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
grid-area |
57 | 16 | 52 | 44 | 10.1 | 57 | 52 | 43 | 10.3 | 6.0 | 57 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area