Первый ряд и второй ряд: разные флексбоксы - вы можете обернуть item
в контейнер второго ряда и использовать упаковочный флексбокс с помощью flex-wrap: wrap
.После заполнения первой строки и если в строке не осталось места, flex items перейдет к следующей строке.
Попробуйте изменить order
для первого ряда ниже:
.wrapper {
display: flex; /* flexbox container */
flex-wrap: wrap; /* wrap the flexbox */
}
.item {
width: 99%;
height: 200px;
background-color: blueviolet;
display: flex;
}
.item1 {
background-color: blue;
width: 33%;
height: 200px;
}
.item2 {
background-color: cyan;
width: 33%;
height: 200px;
}
.item3 {
background-color: red;
width: 33%;
height: 200px;
}
@media screen and (max-width: 500px) {
div#item {
order: 5; /* see changed order below 500px */
}
div#item1 {
order: 3;
}
div#item2 {
order: 4;
}
div#item3 {
order: 1;
}
}
<div class="wrapper">
<div class="item" id="item"></div>
<div class="item1" id="item1"></div>
<div class="item2" id="item2"></div>
<div class="item3" id="item3"></div>
</div>