html - 如果超过高度,如何将其余行附加到第二列

标签 html css

这是我的代码:

<ul style="height:200px;width:100%;">
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
</ul>

它是这样的:

enter image description here

这是我想要的样子:

enter image description here

通知

我不是在寻找 column-count 属性,因为它将 ul 分成两列,即使它们都适合 1 列。我想将不适合第一列的其余元素推到第二列。因此,如果第一列的最大值为 10,而我有 15 行,我希望第一列为 10,第二列为 5。

最佳答案

ul {
  height: 100px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
li {
  display: flex;
  flex: 1 1 auto;
  width: 10%;
  margin-bottom: 10px;
  border-radius: 10px;
}
<ul style="height:200px;width:100%;">
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
  <li>Hi</li>
</ul>

关于html - 如果超过高度,如何将其余行附加到第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266315/

相关文章:

html - 将显示属性设置为无会删除 href 目标

html - 如何更改所选文本的背景颜色

php - Ajax 在动态更新时淡化 div

javascript - 如何创建超过 100 张面孔的 facebook likebox?

html - 如何在使用不同的行高时创建一致的垂直间距?

jQuery tablesorter 显示列中的所有元素

javascript - 如何创建使用 Javascript 数组填充 HTML 表格的循环

javascript - 将按钮分配给颜色框

html - 另一个站点的滚动效果

html - 如何修复 HTML CSS 中的导航栏和页脚