PassFront
  1. PassFront
  2. База знаний
  3. CSS Grid

Как работают grid-template-areas?

CSS Grid

`grid-template-areas` описывает раскладку именованными областями, а элементы привязываются к ним через grid-area.

Пример

.page {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "header  header"
    "sidebar content"
    "footer  footer";
  min-height: 100vh;
}

.header  { grid-area: header; }
.sidebar { grid-area: sidebar; }
.content { grid-area: content; }
.footer  { grid-area: footer; }

Разметка схемы в коде похожа на рисунок страницы, поэтому раскладку легко читать.

Правила

  • Каждая строка схемы содержит одинаковое число ячеек.
  • Одно имя должно образовывать прямоугольник.
  • Точка . обозначает пустую ячейку.

Адаптивность

На узком экране схему переопределяют одним правилом:

@media (max-width: 700px) {
  .page {
    grid-template-columns: 1fr;
    grid-template-areas: "header" "content" "sidebar" "footer";
  }
}

Коротко для собеседования

Схема из строк с именами позволяет собрать раскладку и поменять её в media query без правки разметки.

Другие вопросы раздела