Я пытаюсь создать такую же базовую оправданную сетку с помощью flexbox. Если я положу несколько изображений и применю flex wrap, это будет выглядеть так:
#wrap {
display: flex;
flex-wrap: wrap;
max-width: 800px;
}
.box {
margin: 1px;
position: relative;
text-align: center;
height: 100%;
}
img {
position: relative;
display: block;
}
<div id="wrap">
<div class="box"><img src="https://via.placeholder.com/250x150" /></div>
<div class="box"><img src="https://via.placeholder.com/400x150" /></div>
<div class="box"><img src="https://via.placeholder.com/500x150" /></div>
<div class="box"><img src="https://via.placeholder.com/150x150" /></div>
</div>
Это работает хорошо, но как только доступная ширина становится меньше, изображения попадают в новую строку (очевидно, из-за переноса). Мне интересно, можно ли сделать это адаптивным, чтобы он сохранял этот макет независимо от доступной ширины? Но это должно быть динамическим без применения отдельных классов к изображениям с пользовательским css.
Или это невозможно сделать без javascript?