Вы можете достичь этого очень легко с новой функцией css grid .Поддержка браузера довольно хорошая.вам может понадобиться добавить префиксы вендоров, чтобы иметь максимальную поддержку браузера.
По сути, вам нужен родительский div, который содержит / переносит его дочерние элементы (для вашего случая это будут серые прямоугольники).
Предположим, что это HTML:
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
, а CSS для этой сетки 3 (столбец) x2 (строка) будет:
.parent {
display: grid;
grid-template-columns: repeat(3,1fr);
grid-template-rows: repeat(2,1fr);
grid-gap: 15px;
}
.child {
background: #f7f7f7;
padding: 15px;
}
Всестолбцы в строке будут одинаковой высоты и равны самому высокому столбцу.Вот рабочая ссылка codepen , чтобы увидеть ее в действии.