У меня, казалось бы, простое требование: список <ul />
предметов <div />
с фиксированного размера.Элементы в списке должны располагаться слева направо, заполняя доступное пространство перед переносом на следующую строку.
Вот основной HTML
<ul class="list-unstyled d-flex">
<li><div class="list-box"></div></li>
<li><div class="list-box"></div></li>
<li><div class="list-box"></div></li>
......
</ul>
Класс .d-flex
просто:
.d-flex {
display: flex !important;
}
и класс .list-box
просто контролирует размеры ящиков.
Что происходит, если ящики располагаются в один ряд слева направо, если их слишком много?много полей для ширины экрана <ul />
получает горизонтальную полосу прокрутки.
Вот рабочий пример :
.list-box {
height: 100px;
width: 100px;
border: 1px solid black;
margin: 2px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<h1>Bootstrap 4 Flex List</h1>
<ul class="list-unstyled d-flex">
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
<li>
<div class="list-box"></div>
</li>
</ul>
Почему бы не обернуть <li />
s?