Есть основной блок (# root), в котором мне нужно 4 внутренних блока, каждый с одной стороны полностью растянут (посмотрите фрагмент кода).
Сейчас я здесь :
html {
height: 100%;
}
body {
height: 100%;
margin: 0;
text-align: center;
}
#root {
background-color: blue;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
height: 100%;
}
.tray {
box-sizing: border-box;
background-color: red;
border: thin solid black;
}
.tray-top {
height: 48px;
width: 100%;
}
.tray-bottom {
height: 48px;
width: 100%;
align-self: flex-end;
}
.tray-left {
width: 48px;
}
.tray-right {
width: 48px;
}
<div id="root">
<div class="tray tray-top">top</div>
<div class="tray tray-left">left</div>
<div class="tray tray-right">right</div>
<div class="tray tray-bottom">bottom</div>
</div>
Теперь я хочу, чтобы left
и right
полностью растянулись между top
и bottom
.
Обратите внимание, что все лотки имеют фиксированную ширину (слева, справа) или фиксированную высоту (сверху, снизу).
Я бы не стал вкладывать больше элементов div в существующие.
Flexbox это не обязательно, но я нашел это простым и перспективным по сравнению с другими возможностями.