如果列表项超出容器的高度,如何将它们移动到新列?
How to move list-items to a new column if they extend past the height of the container?
我有一个列表,我想从中构建两列。
该列表中可以包含可变数量的项目,但最多。共 8
我总是希望第一列有 4 个元素。
我已经尝试过 column-count: 2
但这在奇数上不起作用,因为第一行必须包含 4 个元素。
.container {
border: 1px solid red;
width: 300px;
height: 90px;
}
<div class="container">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
您可以使用 Flexbox:
ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 300px;
height: 200px;
}
li {
height: 25%;
}
<div class="container">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
</div>
我有一个列表,我想从中构建两列。 该列表中可以包含可变数量的项目,但最多。共 8
我总是希望第一列有 4 个元素。
我已经尝试过 column-count: 2
但这在奇数上不起作用,因为第一行必须包含 4 个元素。
.container {
border: 1px solid red;
width: 300px;
height: 90px;
}
<div class="container">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
您可以使用 Flexbox:
ul {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 300px;
height: 200px;
}
li {
height: 25%;
}
<div class="container">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
</ul>
</div>