Плиточка в грид в CSS

Давайте перейдем к практической работе с системой грид и создадим плиточки с разными отступами.

Плиточка из 9 блоков по 3 в ряд без отступа

Давайте создадим таблицу из девяти элементов и разместим их по трем столбцам:

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-template-columns: repeat(3, 1fr);
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
}
#parent > div {
  height: 100px;
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Плиточка из 9 блоков по 3 в ряд с отступами

Теперь применим свойство grid-gap для создания отступа между элементами:

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-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
}
#parent > div {
  height: 100px;
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Плиточка из 9 блоков по 3 в ряд с отступами только между блоками

А теперь давайте зададим расстояние только между блоками в гриде:

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-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  border: 2px solid #696989;
  width: 600px;
}
#parent > div {
  height: 100px;
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Плиточка из 8 блоков по 3 в ряд с нехватающим блоком

Давайте сделаем плиточку, в которой в нижнем ряду будет не хватать одного блока:

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>
css#parent {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  border: 2px solid #696989;
  width: 600px;
}
#parent > div {
  height: 100px;
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

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

Задание 1

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

Задание 2

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

Задание 3

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