Spec-Zone.ru › CSS

Свойство CSS `grid-area`

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с октября 2017 года.

Сокращённое свойство grid-area в CSS задаёт размер и положение элемента сетки внутри сетки, добавляя к его размещению в сетке линию, интервал или ничего (автоматическое размещение), тем самым задавая границы его области сетки.

Попробуйте

grid-area: a;
grid-area: b;
grid-area: c;
grid-area: 2 / 1 / 2 / 4;
<section class="default-example" id="default-example">
  <div class="example-container">
    <div class="transition-all" id="example-element">Example</div>
  </div>
</section>
.example-container {
  border: 1px solid #c5c5c5;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: repeat(3, minmax(40px, auto));
  grid-template-areas:
    "a a a"
    "b c c"
    "b c c";
  grid-gap: 10px;
  width: 200px;
}

.example-container > div {
  background-color: rgb(0 0 255 / 0.2);
  border: 3px solid blue;
}

#example-element {
  background-color: rgb(255 0 200 / 0.2);
  border: 3px solid rebeccapurple;
}

Если указано четыре значения <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:

  • grid-row-start
  • grid-column-start
  • grid-row-end
  • grid-column-end

Синтаксис

/* 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).

В противном случае это обрабатывается так, как если бы вместе с <custom-ident> было указано целое число 1.

<integer> && <custom-ident>?

Добавляет к размещению элемента сетки n-ю линию сетки. Если задано отрицательное целое число, отсчёт ведётся в обратном направлении, начиная с конечной границы явной сетки.

Если имя задано как <custom-ident>, учитываются только линии с этим именем. Если линий с таким именем недостаточно, для поиска этой позиции предполагается, что все неявные линии сетки имеют это имя.

Значение <integer> 0 недопустимо.

span && [ <integer> || <custom-ident> ]

Добавляет интервал сетки к размещению элемента сетки так, чтобы соответствующая граница его области сетки находилась на расстоянии n линий от противоположной границы.

Если имя задано как <custom-ident>, учитываются только линии с этим именем. Если линий с таким именем недостаточно, для подсчёта этого интервала предполагается, что все неявные линии сетки со стороны явной сетки, соответствующей направлению поиска, имеют это имя.

Если <integer> не указано, по умолчанию используется 1. Отрицательные целые числа и 0 недопустимы.

Формальное определение

Исходное значение как у каждого из свойств, входящих в сокращение:
  • grid-row-start
  • grid-column-start
  • grid-row-end
  • grid-column-end
Применяется к элементам сетки и абсолютно позиционированным блокам, содержащий блок которых является контейнером сетки
Наследуется нет
Вычисленное значение как у каждого из свойств, входящих в сокращение:
  • grid-row-start
  • grid-column-start
  • grid-row-end
  • grid-column-end
Тип анимации дискретный

Формальный синтаксис

grid-area = 
  <grid-line> [ / <grid-line> ]{0,3}

<grid-line> = 
  auto |
  <custom-ident> |
  [ <integer> && <custom-ident>? ] |
  [ span && [ <integer> || <custom-ident> ] ]

<integer> = 
  <number-token>

Примеры

Задание областей сетки

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, уровень 2
# propdef-grid-area

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
grid-area
57
16
52
44
10.1
57
52
43
10.3
6.0
57
10.3
auto
57
16
52
44
10.1
57
52
43
10.3
7.0
57
10.3

См. также

  • grid-row
  • grid-row-start
  • grid-row-end
  • grid-column
  • grid-column-start
  • grid-column-end
  • grid-template-areas
  • Именованные области шаблона сетки
  • Видео: Именованные области шаблона сетки

© 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-area

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API