Spec-Zone.ru › CSS

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:

  • grid-template-areas
  • grid-template-columns
  • grid-template-rows

Синтаксис

/* 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-columns
  • grid-template-rows
  • grid-template-areas
Применяется к контейнерам сетки
Наследуется нет
Проценты как у каждого из свойств сокращённой формы:
  • grid-template-columns
  • grid-template-rows
Вычисленное значение как у каждого из свойств сокращённой формы:
  • grid-template-columns
  • grid-template-rows
  • grid-template-areas
Тип анимации как у каждого из свойств сокращённой формы:
  • grid-template-columns
  • grid-template-rows
  • grid-template-areas

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

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>

Результат

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

Спецификация
Модуль компоновки CSS Grid, уровень 2
# explicit-grid-shorthand

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

Настольные устройства Мобильные устройства
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-rows
  • grid-template-columns
  • grid-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

Spec-Zone.ru

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