С некоторым упрощением вашей разметки, приведенный ниже фрагмент должен демонстрировать 4 отзывчивых столбца с помощью flex-box.
Вы можете использовать flex-grow
, чтобы контролировать размер каждого столбца в отзывчивом виде:
Свойство flex-grow CSS задает, сколько оставшегося пространства в гибком контейнере должно быть назначено этому элементу (коэффициент гибкого роста).
Разрешить контейнер (илидиалог), чтобы контролировать размер.
Надеюсь, это поможет.
.content {
display: flex;
flex-direction: row;
height: 100%;
width: 100%;
}
.column {
display: flex;
flex-direction: column;
flex-grow: 1;
}
<html>
<body>
<div class='content'>
<div class='column' style='background-color: red;'>
<div class='row'>Column 1, Row 1</div>
<div class='row'>Column 1, Row 2</div>
</div>
<div class='column' style='background-color: blue;'>
<div class='row'>Column 2</div>
</div>
<div class='column' style='background-color: yellow;'>
<div class='row'>Column 3</div>
</div>
<div class='column' style='background-color: green;'>
<div class='row'>Column 4</div>
</div>
</div>
</body>
</html>