CSS-свойство `grid-template`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с октября 2017 года.
grid-template — CSS-сокращённое свойство, задающее столбцы сетки, строки сетки и области сетки.
Попробуйте
grid-template: "a a a" 40px "b c c" 40px "b c c" 40px / 1fr 1fr 1fr;
grid-template: "b b a" auto "b b c" 2ch "b b c" 1em / 20% 20px 1fr;
grid-template: "a a ." minmax(50px, auto) "a a ." 80px "b b c" auto / 2em 3em auto;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-gap: 10px;
width: 200px;
}
#example-element :nth-child(1) {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
grid-area: a;
}
#example-element :nth-child(2) {
background-color: rgb(255 0 200 / 0.2);
border: 3px solid rebeccapurple;
grid-area: b;
}
#example-element :nth-child(3) {
background-color: rgb(94 255 0 / 0.2);
border: 3px solid green;
grid-area: c;
}
Составные свойства
Это сокращённое свойство для следующих свойств CSS:
Синтаксис
/* Keyword value */ grid-template: none; /* grid-template-rows / grid-template-columns values */ grid-template: 100px 1fr / 50px 1fr; grid-template: auto 1fr / auto 1fr auto; grid-template: [line-name] 100px / [column-name1] 30% [column-name2] 70%; grid-template: fit-content(100px) / fit-content(40%); /* grid-template-areas grid-template-rows / grid-template-column values */ grid-template: "a a a" "b b b"; grid-template: "a a a" 20% "b b b" auto; grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto; /* Global values */ grid-template: inherit; grid-template: initial; grid-template: revert; grid-template: revert-layer; grid-template: unset;
Значения
-
none - Устанавливает все три свойства полной формы в значение
none, то есть явная сетка отсутствует. Именованные области сетки не задаются. Строки и столбцы будут созданы неявно; их размеры определяются свойствамиgrid-auto-rowsиgrid-auto-columns. Это значение по умолчанию. -
<'grid-template-rows'> / <'grid-template-columns'> - Устанавливает
grid-template-rowsиgrid-template-columnsв указанные значения, аgrid-template-areas— вnone. -
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? -
Устанавливает
grid-template-areasв перечисленные строки,grid-template-rows— в размеры дорожек, следующие за каждой строкой (подставляяautoдля отсутствующих размеров), и добавляет именованные линии, определённые до и после каждого размера. Свойствоgrid-template-columnsустанавливается в список дорожек, указанный после косой черты (или вnone, если он не указан).Примечание: Функцию
repeat()нельзя использовать в этих списках дорожек, поскольку дорожки должны визуально соответствовать строкам и столбцам ASCII-графики один к одному.
Примечание: Сокращённое свойство grid допускает тот же синтаксис, но также сбрасывает неявные свойства сетки в исходные значения. Используйте grid (в отличие от grid-template), чтобы эти значения не каскадировались отдельно.
Формальное определение
| Начальное значение | как у каждого из свойств сокращённой формы: |
|---|---|
| Применяется к | контейнерам сетки |
| Наследуется | нет |
| Проценты | как у каждого из свойств сокращённой формы: |
| Вычисленное значение | как у каждого из свойств сокращённой формы: |
| Тип анимации | как у каждого из свойств сокращённой формы: |
Формальный синтаксис
grid-template = none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]? <line-names> = '[' <custom-ident>* ']' <track-size> = <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage> ) <explicit-track-list> = [ <line-names>? <track-size> ]+ <line-names>? <track-breadth> = <length-percentage> | <flex> | min-content | max-content | auto <inflexible-breadth> = <length-percentage> | min-content | max-content | auto <length-percentage> = <length> | <percentage>
Примеры
Определение шаблона сетки
CSS
#page {
display: grid;
width: 100%;
height: 200px;
grid-template:
[header-left] "head head" 30px [header-right]
[main-left] "nav main" 1fr [main-right]
[footer-left] "nav foot" 30px [footer-right]
/ 120px 1fr;
}
header {
background-color: lime;
grid-area: head;
}
nav {
background-color: lightblue;
grid-area: nav;
}
main {
background-color: yellow;
grid-area: main;
}
footer {
background-color: red;
grid-area: foot;
}
HTML
<div id="page"> <header>Header</header> <nav>Navigation</nav> <main>Main area</main> <footer>Footer</footer> </div>
Результат
Спецификации
Совместимость с браузерами
| Настольные устройства | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
grid-template |
57 |
16 |
52 |
44 |
10.1 |
57 |
52 |
43 |
10.3 |
6.0 |
57 |
10.3 |
none |
57 |
79 |
52 |
44 |
10.1 |
57 |
52 |
43 |
10.3 |
7.0 |
57 |
10.3 |
См. также
grid-template-rowsgrid-template-columnsgrid-template-areas- Размещение по линиям в 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-template