Сокращенная запись свойств CSS грида

Свойство grid представляет собой сокращенную форму записи всех свойств столбцов и рядов грид-контейнера. Все значения записывают в одной строчке через слеш.

Посредством grid в одной строке можно описать только один тип свойств - явные (grid-template-rows, grid-template-columns, grid-template-areas) или неявные (grid-auto-rows, grid-auto-columns, grid-auto-flow). Те свойства, которые остались неуказанными, принимают значения по умолчанию.

Пример

Давайте сделаем таблицу с помощью свойства grid:

html<div id="parent">
  <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>9</div>
</div>
css#parent {
  display: grid;
  grid: 1fr 1fr 1fr / 1fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 200px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Пример

А теперь давайте зададим второму и третьему рядам одинаковую ширину, а каждому столбцу - различную ширину:

html<div id="parent">
  <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>9</div>
</div>
css#parent {
  display: grid;
  grid: 60px 1fr 60px / 20% 1fr 15%;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 300px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Пример

А теперь в таблице из предыдущего примера сделаем верхний ряд шириной в две фракции, а первый столбец - в половину фракции:

html<div id="parent">
  <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>9</div>
</div>
css#parent {
  display: grid;
  grid: 2fr 1fr 1fr / 0.5fr 1fr 1fr;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
  height: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Практические задачи

Задание 1

Реализуйте следующий пример:

Задание 2

Реализуйте следующий пример:

Задание 3

Реализуйте следующий пример: