Просто контейнер и div, соответствующие статьям, а также header + footer:
HTML
Во-первых, нам нужно указать, что наш контейнер является CSS сеткой (grid) и добавить небольшой промежуток между ячейками:
CSS
Самая важная часть состоит из определения фактической сетки. Если бы мы поместили этот макет в таблицу Excell, он бы выглядел так:
Это можно перевести на CSS с помощью свойства grid-template-areas:
CSS
Делаем CSS-сетку адаптивной
Чтобы сделать CSS-сетку адаптивной, мы можем просто изменить внешний вид таблицы:
Таким образом, нам поможет медиа-запрос и снова свойство grid-template-areas.
CSS
Мы могли бы использовать display:block, но наша задача показать каким гибким и полезным может быть свойство grid-template-areas при использовании его при верстке макета.
И это все, ребята! Всего 3 свойства (grid-area, grid-gap и grid-template-area) для создания полностью адаптивного макета на основе CSS-сетки (grid).
Ниже вы можете увидеть полный рабочий код для этого примера. Ура!
Демо: https://codepen.io/js-craft/pen/xjEZVX
Оригинал статьи: Making a responsive CSS grid layout with just 3 properties
Перевод: Земсков Матвей