Голосование за лучший ответ
Денис Ерошин
Мастер
(1693)
1 год назад
<div class="container">
<div class="item a">текст</div>
<div class="item b">текст2</div>
<div class="item c">текст3</div>
</div>
.container{
white: 80vh;
height: 100vh;
background: green;
border: 3px dashed #0af;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
gap: 5px 20px;
}
.a {
grid-column: span 4;
}
.b,.c {
grid-column: span 2;
grid-row:span 2;
}
.item{
border: 2px solid;
padding: 10px (по желанию);
}
Вот образец для первой картинки.
Вместите контейнеры в ширину страницы (помогут фракции и заданная ширина 100wv). Не забудьте про расстояние между боксами – свойство gap.
Высота может быть больше высоты экрана.
У вас будет единый контейнер для всех лайаутов – для всех 20 квадратов (позиционирование grid).
Внутри большого контейнера у вас будет 20 элементов, каждый из которых будет содержать столько внутренних элементов, сколько нарисовано на картинке. Позиционирование внутренних элементов также выполните свойствами grid.