Сначала я создаю макет с помощью flexbox:
<html>
<body>
<div id="header"></div>
<div id="main"></div>
</body>
</html>
заголовок div имеет фиксированный height: 60px
, а основной div занимает оставшуюся высоту экрана:
html, body{
100%;
}
body{
display: flex;
flex-direction: column;
}
#header{
height: 60px;
flex-grow: 0;
}
#main{
flex-grow: 1;
}
Я получил то, что хочу:
Затем я хочу отобразить три поля внутри #main
div: box_1, box_2 и box_3.
box_1 и box_3 имеют одинаковое значение высоты, а box_2 расширяется, чтобы принять оставшуюся высоту #main
:
Я добавляю следующие коды:
<html>
<body>
<div id="header"></div>
<div id="main">
<div id="box_1"></div>
<div id="box_2"></div>
<div id="box_3"></div>
</div>
</body>
</html>
#main{
flex-grow: 1;
flex-direction: column;
}
#box_1, #box_3{
height: 60px;
flex-grow: 0;
background-color: red;
}
#box_2{
flex-grow: 1;
background-color: blue;
}
#box_2
невидим, если я не установлю значение высоты на #main
div. Если требуется значение высоты, почему я все еще должен использовать flexbox ...