Як я можу сказати, що рядок макета flexbox споживає решту вертикального простору у вікні браузера?
У мене 3-рядова розкладка флекси. Перші два ряди мають фіксовану висоту, але 3-й динамічний, і я хотів би, щоб він зростав на повну висоту браузера.
У мене є ще один flexbox у рядку-3, який створює набір стовпців. Щоб правильно відрегулювати елементи в цих стовпцях, мені потрібно, щоб вони зрозуміли повну висоту браузера - для таких речей, як колір фону та вирівнювання елементів в основі. Основний макет в кінцевому підсумку нагадував би такий:
.vwrapper {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: stretch;
align-content: stretch;
//height: 1000px;
}
.vwrapper #row1 {
background-color: red;
}
.vwrapper #row2 {
background-color: blue;
}
.vwrapper #row3 {
background-color: green;
flex 1 1 auto;
display: flex;
}
.vwrapper #row3 #col1 {
background-color: yellow;
flex 0 0 240px;
}
.vwrapper #row3 #col2 {
background-color: orange;
flex 1 1;
}
.vwrapper #row3 #col3 {
background-color: purple;
flex 0 0 240px;
}
<body>
<div class="vwrapper">
<div id="row1">
this is the header
</div>
<div id="row2">
this is the second line
</div>
<div id="row3">
<div id="col1">
col1
</div>
<div id="col2">
col2
</div>
<div id="col3">
col3
</div>
</div>
</div>
</body>
Я спробував додати height
атрибут, який працює, коли я встановив його на жорстке число, але не тоді, коли його встановив 100%
. Я розумію, що height: 100%
це не працює, оскільки вміст не заповнює вікно браузера, але чи можу я повторити цю ідею, використовуючи макет flexbox?