У меня есть 6 блоков подряд:

В мобильной и десктопной версии все работает как я хочу, но когда я меняю flex-direction с row на column:

В десктопной версии все работает хорошо, а вот в мобильной блоки не располагаются по 2 в каждом ряду, они в столбик. Как я могу это решить?
CSS:
* {
box-sizing: border-box;
}
img {
width: auto;
max-width: 100%;
height: auto;
max-height: 100%;
}
.picture-box {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
padding: 3rem 1.5rem;
}
.ring {
flex: 0 0 calc(50% - 10px);
padding: 20px;
margin-bottom: 20px;
border: 1px solid green;
text-align: center;
}
.thumb {
display: inline-block;
max-width: 200px;
padding: 10px;
border: 1px solid blue;
}
@media all and (min-width: 1024px) {
.ring {
flex: 0 0 calc((100% / 3) - (40px / 3))
}
}
@media all and (min-width: 1240px) {
.ring {
flex: 0 0 calc((100% / 6) - (100px / 6))
}
}
HTML:
<div class = "picture-box">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
С вашим текущим кодом я ожидал, что на мобильном телефоне будет 2 звонка для каждого столбца, а не для строки. Разве это не так на данный момент?
Какое разрешение/браузер вы используете для экрана телефона?






Как насчет использования мультимедийного запроса для настольных компьютеров, чтобы сохранить макет column и использовать flex-direction : row для мобильных устройств и планшетов?
@media all and (min-width: 1024px) {
.ring {
flex: 0 0 calc((100% / 3) - (40px / 3))
}
.picture-box {
flex-direction: column;
}
}
не могли бы вы помочь мне еще в одном вопросе?
пожалуйста, посмотрите этот вопрос. никто не может мне помочь в этом вопросе: stackoverflow.com/questions/54886219/…
так ты не мог бы мне помочь?
Пожалуйста, используйте https://getbootstrap.com/ framework . и используйте html-структуру, подобную этой,
<div class = "picture-box">
<div class = "row">
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
<div class = "col-sm-2">
<div class = "ring">
<div class = "thumb">
<img src = "https://via.placeholder.com/200">
</div>
</div>
</div>
</div>
</div>
Добро пожаловать в SO, когда задают вопрос, попробуйте ответить на вопрос, а не предлагать совершенно новый способ сделать что-то, если это не актуально. В этом случае вы предлагаете совершенно новую структуру, которую ОП не использует. Эти типы предложений должны быть комментариями, во всяком случае.
Пожалуйста, вы можете попробовать это....
<style>
body{padding: 0px;margin: 0px;}
*{box-sizing: border-box;}
img{width: auto;max-width: 100%;}
.picture-box{display: flex;flex-direction: row;justify-content:space-around; padding: 3rem 1.5rem;}
.ring{padding: 20px;margin:0px 10px 20px 10px;border: 1px solid green;text-align: center;}
.thumb{display: block;padding: 10px;border: 1px solid blue;}
@media(max-width: 1024px){.picture-box{flex-wrap: wrap;}.ring{width: calc(33.3% - 20px);}}
@media(max-width: 768px){.ring{width: calc(50% - 20px);}}
@media(max-width: 480px){.ring{width: 100%; margin: 0px 0px 20px 0px;}}
</style>
чего вы хотите достичь?