У меня есть 4 деления, которые я использую flexbox для выравнивания.При размере рабочего стола есть 3 столбца одинаковой ширины, причем первый и последний элементы div занимают всю высоту контейнера.Второй и третий делители располагаются вертикально посередине, каждый из которых занимает 50% высоты.Это нормально работает.
В мобильном размере я хочу, чтобы последний div был сверху и растягивал всю ширину контейнера.Затем я хочу, чтобы первый div выравнивался слева под верхним div и занимал 50% ширины и оставшейся высоты контейнера.
Проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы второй и третий divвыровнять прямо под верхним div и занять оставшиеся 50% ширины, но расположить вертикально, чтобы каждый занимал 50% оставшейся высоты.
Я пытался изменить flex-direction
в медиа-запросеи все остальное, что я могу думать, но это не работает.
* {
margin: 0;
padding: 0;
}
.box-wrapper {
display: flex;
flex-direction: column;
flex-wrap: wrap;
height: 70vh;
align-items
}
.boxa {
background: red;
flex: 0 0 100%;
width: 33%;
}
.boxb {
background: orange;
}
.boxc {
background: lightgreen;
}
.boxb,
.boxc {
flex: 0 0 50%;
width: 33%;
}
.boxd {
background: grey;
flex: 0 0 100%;
width: 33%;
}
@media (max-width: 700px) {
.boxa {
order: 2;
width: 50%;
flex: 0 0 75%;
}
.boxb {
order: 3;
width: 50%;
flex: 0 0 37.5%;
}
.boxc {
order: 4;
width: 50%;
flex: 0 0 37.5%;
}
.boxd {
order: 1;
flex: 0 0 25%;
width: 100%;
}
}
<div class="box-wrapper">
<div class="boxa"></div>
<div class="boxb"></div>
<div class="boxc"></div>
<div class="boxd"></div>
</div>