CSS свойство grid

Grid - это сокращенная форма для следующих свойств:

  • grid-template-rows
  • grid-template-columns
  • grid-template-areas
  • grid-auto-rows
  • grid-auto-columns
  • grid-auto-flow
Значение по умолчанию none none none auto auto row
Применяется К грид-контейнерам.
Наследуется Нет
Анимируемое Да. Макет на основе сетки анимируем.
Версия CSS Grid Layout Module Level 1
DOM синтаксис Object.style.grid = "150px / auto auto auto";

Синтаксис

grid: none | grid-template-rows / grid-template-columns | grid-template-areas | grid-template-rows / [grid-auto-flow] grid-auto-columns | [grid-auto-flow] grid-auto-rows / grid-template-columns | initial | inherit;

Пример

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок документа</title>
    <style>
      .grid-container {
      display: grid;
      grid-template-columns: auto auto auto;
      background-color: #ccc;
      padding: 10px;
      }
      .grid-box {
      background-color: #eee;
      border: 1px solid rgba(0, 0, 0, 0.8);
      padding: 30px;
      font-size: 30px;
      text-align: center;
      }
    </style>
  </head>
  <body>
    <h2>Пример свойства grid</h2>
    <div class="grid-container">
      <div class="grid-box">1</div>
      <div class="grid-box">2</div>
      <div class="grid-box">3</div>
      <div class="grid-box">4</div>
      <div class="grid-box">5</div>
      <div class="grid-box">6</div>
      <div class="grid-box">7</div>
      <div class="grid-box">8</div>
      <div class="grid-box">9</div>
    </div>
  </body>
</html>

Пример со значением grid-auto-flow:

Пример

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок документа</title>
    <style>
      .grid-container {
      display: grid;
      grid-template-columns: auto auto auto;
      grid-template-rows: auto auto;
      grid-gap: 5px;
      background-color: #1c87c9;
      padding: 10px;
      }
      .grid-container > div {
      background-color: rgba(255, 255, 255, 0.8);
      text-align: center;
      padding: 20px 0;
      font-size: 20px;
      }
    </style>
  </head>
  <body>
    <h2>Пример свойства grid</h2>
    <div class="grid-container" style="grid-auto-flow: column;">
      <div class="grid-box1">1</div>
      <div class="grid-box2">2</div>
      <div class="grid-box3">3</div>
      <div class="grid-box4">4</div>
    </div>
  </body>
</html>

Пример, где размер строк равен 100px:

Пример

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок документа</title>
    <style>
      .grid-box1 { grid-area: 1 / 1 / 2 / 2; }
      .grid-box2 { grid-area: 1 / 2 / 2 / 3; }
      .grid-box3 { grid-area: 1 / 3 / 2 / 4; }
      .grid-box4 { grid-area: 2 / 1 / 3 / 2; }
      .grid-box5 { grid-area: 2 / 2 / 3 / 3; }
      .grid-box6 { grid-area: 2 / 3 / 3 / 4; }
      .grid-container {
      display: grid;
      grid-auto-rows: 100px;
      grid-gap: 10px;
      background-color: #1c87c9;
      padding: 10px;
      }
      .grid-container > div {
      background-color: #eee;
      text-align: center;
      padding: 20px 0;
      font-size: 25px;
      }
    </style>
  </head>
  <body>
    <h2>Пример свойства grid</h2>
    <div class="grid-container">
      <div class="grid-box1">1</div>
      <div class="grid-box2">2</div>
      <div class="grid-box3">3</div>
      <div class="grid-box4">4</div>
      <div class="grid-box5">5</div>
      <div class="grid-box6">6</div>
    </div>
  </body>
</html>

Значения

Значение Описание
none Размер колонок и строк не установлен.
Значение по умолчанию.
grid-template rows / grid-template-columns Размер колонок и строк установлен.
grid-template-areas Макет сетки указан именованными элементами.
grid-template rows / grid-auto-columns Указан размер строк и авто-размер колонок.
grid-auto-rows / grid-template-columns Указан авто-размер строк, и задано свойство grid-template-columns.
grid-template rows / grid-auto-flow grid-auto-columns The grid layout is specified by using named items.
grid-auto flow grid-auto-rows / grid-template-columns Определяет, как установить автоматически размещаемые элементы и авто-размер строк. Задает свойство grid-template-columns.
initial Устанавливает свойство в значение по умолчанию.
inherit Значение элемента наследуется от родительского элемента.

Поддержка браузера

chrome edge firefox safari opera
57.0+ 16.0+ 52.0+ 10.1+ 44.0+

Практикуйте свои знания

What is the purpose of the CSS property 'grid'?
Считаете ли это полезным?