Как сделать на гридах?

В HTML5 появился новый способ верстки - CSS Grid Layout, который предоставляет мощные возможности для создания гибких и адаптивных сеток на веб-страницах. С помощью CSS Grid вы можете располагать элементы на странице в виде сетки, контролируя размеры и расположение каждой ячейки.

Для начала работы с CSS Grid вам нужно создать контейнер, который будет являться родительским элементом для сетки. В HTML он может быть обычным <div>, например:

<div class="grid-container">
   <!-- ваши элементы сетки будут здесь -->
</div>

Затем вам нужно определить правила для вашей сетки в CSS. Для этого используется свойство display со значением grid, которое определяет, что элемент является контейнером для сетки. Вы также можете задать количество и размеры колонок и строк с помощью свойств grid-template-columns и grid-template-rows. Например:

.grid-container {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr; /* 3 колонки с равными размерами */
   grid-template-rows: auto; /* строки будут автоматически подстраиваться под содержимое */
}

После этого вы можете добавить элементы в сетку, указав их положение с помощью свойств grid-column-start, grid-column-end, grid-row-start и grid-row-end. Например:

<div class="grid-container">
   <div class="grid-item" style="grid-column-start: 1; grid-column-end: 3;">1</div>
   <div class="grid-item" style="grid-column-start: 2; grid-column-end: 4;">2</div>
   <div class="grid-item" style="grid-column-start: 1; grid-column-end: 2;">3</div>
   <div class="grid-item" style="grid-column-start: 3; grid-column-end: 4;">4</div>
</div>

В данном примере первый элемент занимает от первой до третьей колонки, второй элемент - от второй до четвертой колонки, третий элемент - только первую колонку, а четвертый элемент - только третью колонку.

Кроме базовых свойств, с CSS Grid у вас также есть возможность определять промежуточные и перекрестные линии сетки, добавлять отступы между ячейками и контролировать их размеры и положение более подробно.

CSS Grid является мощным инструментом для создания гибких и адаптивных сеток на веб-страницах. Он предоставляет большое количество возможностей для контроля над расположением элементов. Ознакомьтесь с документацией и экспериментируйте, чтобы использовать CSS Grid в своих проектах.