CSS свойство grid-template-columns

Свойство grid-template-columns определяет размер (ширину) каждой колонки в макете сетки.

Значение по умолчанию none
Применяется К грид-контейнерам.
Наследуется Нет
Анимируемое Да. Колонки анимируемы.
Версия CSS Grid Layout Module Level 1
DOM синтаксис object.style.gridTemplateColumns = "40px 40px 40px";

Синтаксис

grid-template-columns: none | auto | max-content | min-content | flex | fit-content | repeat | length | initial | inherit;

Пример

<!DOCTYPE html>
<html>
  <head>
    <title>Заголовок документа</title>
    <style>
      .example {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      grid-gap: 10px;
      background-color: #ccc;
      padding: 10px;
      margin-top: 20px;
      }
      .example > div {
      background-color: #eee;
      text-align: center;
      padding: 30px 0;
      font-size: 30px;
      }
    </style>
  </head>
  <body>
    <h2>Пример свойства grid-template-columns</h2>
    <div class="example">
      <div>1</div>
      <div>2</div>
      <div>3</div>
      <div>4</div>
      <div>5</div>
      <div>6</div>
      <div>7</div>
      <div>8</div>
    </div>
  </body>
</html>

Рассмотрим другой пример со свойством grid-templates-columns:

Пример

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

Значения

Значение Описание
auto Размер колонок зависит от размера контейнера. Значение по умолчанию.
max-content Размер каждой колонки зависит от самого большого элемента колонки.
min-content Размер каждой колонки зависит от самого маленького элемента колонки.
minmax(min.max) Диапазон размеров больше или равен "min" и меньше или равен "max".
<length> Размер колонок определяется значениями длины.
<percentage> Размер колонок определяется процентами.
<flex> Неотрицательное значение в единице измерения "fr", которое определяет гибкий фактор ряда сетки. Каждый такой ряд распределяет оставшееся пространство в соответствии с его гибким фактором.
fit-content Представляет собой формулу min(max-content, max(auto, argument)), похожую на auto (т. е. minmax(auto, max-content)), но размер больше, чем автоматический минимум.
repeat Представляет собой повторяющийся фрагмент списка рядов и дает возможность записать большое количество колонок с повторяющейся комбинацией в более компактной форме.
initial Устанавливает свойство в значение по умолчанию.
inherit Значение элемента наследуется от родительского элемента.

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

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

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

Для чего используется свойство CSS 'grid-template-columns'?
Считаете ли это полезным?