Это будет довольно сложно объяснить без наглядной демонстрации, поэтому смотрите jsfiddle внизу.
Установка состоит из двух контейнеров flexbox в направлении столбцов, которые имеют относительную высоту (то есть процент от своего родителя).Оба контейнера имеют фиксированный верхний и нижний колонтитулы.Один контейнер всегда в два раза больше другого.Контейнер большего размера имеет двух дочерних элементов.Контейнер меньшего размера имеет один дочерний элемент содержимого.
Я бы хотел, чтобы первый элемент содержимого в большем контейнере всегда имел ту же высоту, что и отдельный элемент содержимого в меньшем контейнере, независимо от размеров контейнеров.Для любого заданного размера я могу указать flex-grow, который соответствует элементам, но он не будет работать для каждого размера.
Возможно ли это с помощью flexbox?
<div id="card1" class="card">
<div class="header"></div>
<div class="content"></div>
<div class="content2"></div>
<div class="footer"></div>
</div>
<div id="card2" class="card">
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
</div>
html, body {height: 100%;}
body {
display: flex;
}
#card1 {
height: 80%;
background-color: green;
}
#card2 {
height: 40%;
background-color: green;
}
.card {
width: 200px;
display: flex;
flex-direction: column;
padding: 20px;
margin: 4px;
}
.header {
width: 100%;
height: 24px;
background-color: lightgreen;
}
.content {
width: 100%;
background-color: lightseagreen;
flex: 1;
}
.content2 {
width: 100%;
background-color: limegreen;
flex: 1;
}
.footer {
width: 100%;
height: 24px;
background-color: lightgreen;
}
JSFiddle
Этот вопрос должен быть таким же, если направление гибкого движения было вместо строки, а я говорил о ширине, а не о высоте.