Перейти к содержимому

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

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

Начальное значениеnone
Применяется кКонтейнеры сетки.
НаследуетсяНет.
АнимацияДа. Столбцы можно анимировать.
ВерсияCSS Grid Layout Module Level 1
DOM-синтаксисobject.style.gridTemplateColumns = "40px 40px 40px";

Синтаксис

CSS grid-template-columns

css
grid-template-columns: none | auto | max-content | min-content | minmax() | <length> | <percentage> | <flex> | fit-content | repeat | initial | inherit;

Пример свойства grid-template-columns:

Пример кода CSS grid-template-columns

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .example {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        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 property example</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>

Результат

Длина CSS grid-template-columns

Пример применения grid-template-columns к grid-container:

Пример длины CSS grid-template-columns

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .grid-container {
        display: grid;
        grid-template-columns: 40px 150px auto 80px;
        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 property example</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>

Значения

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

Практика

Какова функция свойства 'grid-template-columns' в CSS?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.