grid-column
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since окÑÑбÑÑ 2017 г..
СокÑаÑÑнное CSS-ÑвойÑÑво grid-column задаÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¸ положение ÑлеменÑа, наÑ
одÑÑегоÑÑ Ð²Ð½ÑÑÑи гÑид-колонки, пÑÑÑм ÑазмеÑÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ по гÑид-линии, ÑаÑÑиÑÑÑ ÐµÐ³Ð¾ пÑи необÑ
одимоÑÑи, Ñем ÑамÑм опÑеделÑÑ Ð½Ð°ÑалÑнÑÑ Ð¸ конеÑнÑÑ Ð³ÑаниÑÑ Ð³Ñид-облаÑÑи, в пÑеделаÑ
коÑоÑой он должен наÑ
одиÑÑÑÑ.
ÐнÑеÑакÑивнÑй пÑимеÑ
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: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
#example-element {
background-color: rgba(255, 0, 200, 0.2);
border: 3px solid rebeccapurple;
}
СвÑзаннÑе ÑвойÑÑва
ÐÑо ÑвойÑÑво ÑвлÑеÑÑÑ ÑокÑаÑением Ð´Ð»Ñ ÑледÑÑÑÐ¸Ñ ÑвойÑÑв CSS:
Syntax
/* ÐлÑÑевÑе Ñлова */
grid-column: auto;
grid-column: auto / auto;
/* ÐнаÑÐµÐ½Ð¸Ñ Ñ <custom-ident> */
grid-column: somegridarea;
grid-column: somegridarea / someothergridarea;
/* ÐнаÑÐµÐ½Ð¸Ñ Ñ <integer> и <custom-ident> */
grid-column: somegridarea 4;
grid-column: 4 somegridarea / 6;
/* ÐнаÑÐµÐ½Ð¸Ñ Ñо span, <integer> и <custom-ident> */
grid-column: span 3;
grid-column: span somegridarea;
grid-column: 5 somegridarea span;
grid-column: span 3 / 6;
grid-column: span somegridarea / span someothergridarea;
grid-column: 5 somegridarea span / 2 span;
/* ÐлобалÑнÑе знаÑÐµÐ½Ð¸Ñ */
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>?-
РазмеÑÐ°ÐµÑ Ð³Ñид-ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð½Ð° гÑид-линии, заданной ÑиÑлом
<integer>. ÐÑли Ñказано оÑÑиÑаÑелÑное ÑиÑло, оÑÑÑÑÑ Ð½Ð°ÑинаеÑÑÑ Ð² обÑаÑном поÑÑдке, наÑÐ¸Ð½Ð°Ñ Ñ ÐºÐ¾Ð½Ñа гÑид-ÑаÑкладки.ÐÑли в знаÑении задано имÑ
<custom-ident>, Ñо бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ð»Ð¸Ð½Ð¸Ð¸ ÑолÑко Ñ ÑÑим именем. ÐÑли линий Ñ Ñаким именем не Ñ Ð²Ð°ÑаеÑ, Ñогда Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка нÑжной позиÑии бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ð½ÐµÑвнÑе гÑид-линии. То еÑÑÑ ÑÑи линии бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ñак, как еÑли Ð±Ñ Ñ Ð½Ð¸Ñ Ð±Ñло задано Ñказанное имÑ.Целое (
<integer>) знаÑение0ÑÑиÑаеÑÑÑ Ð½ÐµÐºÐ¾ÑÑекÑнÑм. span && [ <integer> || <custom-ident> ]-
РазмеÑÐ°ÐµÑ Ð³Ñид-ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ñаким обÑазом, ÑÑо он бÑÐ´ÐµÑ ÑаÑÑиÑен на Ñказанное ÑиÑло ÑÑеек.
ÐÑли в знаÑении задано имÑ
<custom-ident>, Ñо бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ð»Ð¸Ð½Ð¸Ð¸ ÑолÑко Ñ ÑÑим именем. ÐÑли линий Ñ Ñаким именем не Ñ Ð²Ð°ÑаеÑ, Ñогда Ð´Ð»Ñ Ð²ÑбоÑа нÑжного колиÑеÑÑва ÑÑеек бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ð½ÐµÑвно заданнÑе гÑид-линии. То еÑÑÑ ÑÑи линии бÑдÑÑ ÑÑиÑÑваÑÑÑÑ Ñак, как еÑли Ð±Ñ Ñ Ð½Ð¸Ñ Ð±Ñло задано Ñказанное имÑ.ÐÑли ÑиÑло
<integer>не бÑло Ñказано, по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÑдеÑ1. ÐÐ¾Ð»Ñ Ð¸ оÑÑиÑаÑелÑнÑе ÑиÑла ÑÑиÑаÑÑÑÑ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑимÑми.
ФоÑмалÑное опÑеделение
| ÐаÑалÑное знаÑение | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
|---|---|
| ÐÑименÑеÑÑÑ Ðº | ÑлеменÑÑ ÑеÑки и абÑолÑÑно-позиÑиониÑованнÑе блоки, Ð½Ð°Ñ Ð¾Ð´ÑÑиеÑÑ Ð² ÑеÑоÑном конÑейнеÑе |
| ÐаÑледÑеÑÑÑ | Ð½ÐµÑ |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как и Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ из подÑвойÑÑв ÑÑого ÑвойÑÑва:
|
| Animation type | discrete |
ФоÑмалÑнÑй ÑинÑакÑиÑ
grid-column =
<grid-line> [ / <grid-line> ]?
<grid-line> =
auto |
<custom-ident> |
[ [ <integer [-â,-1]> | <integer [1,â]> ] && <custom-ident>? ] |
[ span && [ <integer [1,â]> || <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;
}
РезÑлÑÑаÑ
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Grid Layout Module Level 2> # placement-shorthands> |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- СвÑзаннÑе CSS-ÑвойÑÑва:
grid-row,grid-row-start,grid-row-end,grid-column-start,grid-column-end - Ð ÑководÑÑво по гÑид-ÑаÑкладке: Line-based placement with CSS Grid
- ÐбÑÑаÑÑее видео: Line-based placement