У меня есть несколько предметов, которые я бы хотел разместить во flex-box, чтобы они оборачивались на меньшие экраны. flex-wrap:wrap;
может сделать это.
Когда они «развернуты» (то есть на широком экране), я бы хотел, чтобы между элементами контента была вертикальная линия. Когда экран / контейнер сужаются, я бы хотел, чтобы они переносились на следующую строку, а , а не имели рамку.
Я хочу, чтобы все это было в центре страницы. Не обязательно, чтобы все элементы содержимого имели одинаковую ширину.
Примерно так:

Я видел Умные границы между элементами flex - тупой способ , но это не работает, когда контейнер flex-box «плавает» на странице, так как он опирается на скрытое поле -1px, чтобы скрыть лишнюю рамку, которая означает, что предметы должны простираться до левого поля, чтобы скрыть свои поля. Для центрированных прямоугольников это не всегда верно.
/* Based on https://codepen.io/thatemil/pen/MrrJyZ
* used by
* https://thatemil.com/blog/2018/01/08/direction-independent-borders-this-is-stupid/
*/
.container {
display: flex;
flex-wrap: wrap;
overflow: hidden;
justify-content: center;
}
.item {
border-left: 1px solid red;
margin-left: -1px;
padding: 5px;
}
Short (unwrapped):
<div class="container">
<div class="item" style="background-color:pink;">foobar</div>
<div class="item" style="background-color:grey;">quux</div>
</div>
Long (wrapping):
<div class="container">
<div class="item" style="background-color:pink;">foobar foobar foobar foobar foobar foobar</div>
<div class="item" style="background-color:grey;">quux quux quux quux quux quux quux</div>
</div>