Что я пытаюсь здесь сделать, так это то, что я хочу использовать две строки для отображения неопределенного количества элементов. Я буду использовать вертикальную прокрутку, чтобы показать переполненные элементы. Если я использую CSS ниже, он отображает элементы в одной строке. Я хочу знать, можно ли использовать 2 строки вместо одной или есть ли какой-нибудь хак для достижения этого с помощью flexbox?
.items-list {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
}
<div class = "items-list">
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
.......
</div>
Я часами пытался найти решение или ответ, возможно ли это сделать с помощью flexbox. Любая помощь будет очень высоко ценится.
Если вы установите flex-wrap: nowrap
, он не будет перенесен. Для этого можно использовать сетку.
@TemaniAfif да, ровно две строки. и количество элементов будет неопределенным.
Вы можете сделать это с помощью сетки CSS:
.items-list {
display: grid;
grid-template-rows: 50px 50px; /* 2 rows of 50px */
grid-auto-flow: column; /* a column flow */
grid-auto-columns:100px; /* each column will 100px of width */
grid-gap: 5px;
overflow: auto;
}
.item {
border:2px solid red;
}
<div class = "items-list">
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
<div class = "item"></div>
</div>
Связанный вопрос, чтобы получить другой вид макета: Могу ли я использовать css-grid для отображения неизвестного количества элементов в порядке чтения слева направо в двух строках?
вы имеете в виду точно 2 ряда, не больше не меньше?