Spec-Zone.ru › CSS

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

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

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

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

Попробуйте

grid-column: 1;
grid-column: 1 / 3;
grid-column: 2 / -1;
grid-column: 1 / span 2;
<section class="default-example" id="default-example">
  <div class="example-container">
    <div class="transition-all" id="example-element">One</div>
    <div>Two</div>
    <div>Three</div>
  </div>
</section>
.example-container {
  border: 1px solid #c5c5c5;
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr;
  grid-template-rows: repeat(3, minmax(40px, auto));
  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;
}

Составные свойства

Это свойство является короткой записью следующих свойств CSS:

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

Синтаксис

/* Keyword values */
grid-column: auto;
grid-column: auto / auto;

/* <custom-ident> values */
grid-column: some-grid-area;
grid-column: some-grid-area / some-other-grid-area;

/* <integer> + <custom-ident> values */
grid-column: some-grid-area 4;
grid-column: 4 some-grid-area / 6;

/* span + <integer> + <custom-ident> values */
grid-column: span 3;
grid-column: span some-grid-area;
grid-column: 5 some-grid-area span;
grid-column: span 3 / 6;
grid-column: span some-grid-area / span some-other-grid-area;
grid-column: 5 some-grid-area span / 2 span;

/* Global values */
grid-column: inherit;
grid-column: initial;
grid-column: revert;
grid-column: revert-layer;
grid-column: unset;

Это свойство задаётся одним или двумя значениями <grid-line>.

Если указаны два значения <grid-line>, они разделяются символом /. Свойству grid-column-start, заданному отдельно, присваивается значение до косой черты, а свойству grid-column-end — значение после неё.

Каждое значение <grid-line> может быть задано как:

  • ключевое слово auto
  • значение <custom-ident>
  • значение <integer>
  • значения <custom-ident> и <integer>, разделённые пробелом
  • ключевое слово span вместе со значением <custom-ident>, <integer> или обоими значениями.

Значения

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

Если существует именованная линия с именем <custom-ident>-start/<custom-ident>-end, она добавляет к размещению элемента сетки первую такую линию.

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

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

grid-column = 
  <grid-line> [ / <grid-line> ]?

<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-columns: repeat(6, 1fr);
  grid-template-rows: 100px;
}

#item1 {
  background-color: lime;
}

#item2 {
  background-color: yellow;
  grid-column: 2 / 4;
}

#item3 {
  background-color: blue;
  grid-column: span 2 / 7;
}

Результат

Спецификации

Спецификация
CSS Grid Layout Module Level 2
# placement-shorthands

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
grid-column
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-start
  • grid-column-end

  • Размещение по линиям в 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-column

Spec-Zone.ru

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