CSS-свойствоВ стандарте

CSS grid-template-columns — синтаксис и примеры

CSS-свойство grid-template-columns: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Практический смысл

Для «grid-template-columns» важно отделить назначение от случайного оформления. Задаёт размеры и количество явных столбцов Grid. При проверке в учебном примере без внешнего фреймворка сначала зафиксируйте перестроение при смене writing-mode для «grid-template-columns», затем сравнивайте базовый и улучшенный вариант рядом.

Практическое правило для grid-template-columns

Рабочий критерий для «grid-template-columns»: сравните minmax, repeat и auto-fit на узком контейнере. Если результат «grid-template-columns» меняется вместе с посторонним условием, пример ещё не изолирован.

Синтаксис grid-template-columns

Минимальная запись «grid-template-columns» нужна для отделения самой возможности от стилей и разметки проекта. Проверьте фрагмент отдельно перед переносом.

css
.demo {
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}
Открыть в Playground

Как работает grid-template-columns

Задаёт размеры и количество явных столбцов Grid. Для «grid-template-columns» проверьте две контрольные точки — перестроение при смене writing-mode и отображение в режиме печати: так видно, на каком этапе появляется итоговое поведение этой темы.

Проверка в проекте

  • Сравните minmax, repeat и auto-fit на узком контейнере; результат относится непосредственно к «grid-template-columns».
  • Проверить печать и убедиться, что важное содержимое не исчезает при разборе «grid-template-columns».
  • Проверьте «grid-template-columns» в учебном примере без внешнего фреймворка через перестроение при смене writing-mode и запишите наблюдаемое изменение.
Выбор конструкции

Оставляйте «grid-template-columns» в решении только после проверки в учебном примере без внешнего фреймворка. Если нативная конструкция решает задачу «grid-template-columns» с меньшим числом условий, используйте её.

Практика с grid-template-columns

Проверьте «grid-template-columns» в минимальном компоненте с длинным текстом, клавиатурным управлением и узким экраном. Отдельная проверка для «grid-template-columns»: сравните minmax, repeat и auto-fit на узком контейнере.

Flexbox и Gridgrid-template-columns

Сценарий: в учебном примере без внешнего фреймворка.

Ошибки при работе с grid-template-columns

01

Устойчивость

Жёсткие столбцы шире контейнера создают горизонтальную прокрутку — это предметный риск для «grid-template-columns».

02

Доступность

Подмена семантики визуально похожим div или span при использовании «grid-template-columns».

03

Каскад

Дублирование интерактивной роли без нативного управления; для «grid-template-columns» проверьте это отдельно.

Поддержка grid-template-columns

Для «grid-template-columns» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «grid-template-columns»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 57Edgeс версии 16Firefoxс версии 52Safariс версии 10.1

Спецификация: источник 1, источник 2.

Вопросы о grid-template-columns

Как понять, что «grid-template-columns» выбрано правильно?

«grid-template-columns» выбрано правильно, когда оно решает задачу «распределять свободное место и выравнивать элементы внутри контейнера», сохраняет результат в учебном примере без внешнего фреймворка и проходит предметную проверку: сравните minmax, repeat и auto-fit на узком контейнере.

Нужен ли запасной вариант для «grid-template-columns»?

Запасной вариант для «grid-template-columns» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «grid-template-columns» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.