【问题标题】:Flexbox : break into 2 columns when items increases more than 4 [closed]Flexbox:当项目增加超过 4 时分成 2 列 [关闭]
【发布时间】:2020-05-21 04:11:20
【问题描述】:

我有多个项目列表,当列表中的项目超过 4 个时,我需要将它分成第二列,但我不太清楚如何。我需要流/顺序保持在列流中。

这是我尝试使用 flexbox 实现的目标,但事实证明它比我确信的要困难得多。如果可以解决我的问题,我愿意使用 css 网格或其他任何东西:

这就是我想要达到的目标:

【问题讨论】:

  • 您好,很抱歉。下次我会记住的。
  • 我会在这里使用网格 codepen.io/gc-nomade/pen/dyobxGN ,** 如果您希望重新打开并投票赞成您的答案,请提供您的 HTML 和 CSS 以显示您的问题和尝试**。

标签: css flexbox


【解决方案1】:

您可以使用带有flex-direction: column;flex-wrap: wrap; 属性的弹性框。主 div 应该有一个固定的高度,以便 flex 将它包裹起来并创建多个列。

#main {
  width: 400px;
  height: 400px;
  border: 1px solid #c3c3c3;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: start;
}

#main span {
  width: 100px;
  height: 100px;
  
}
<div id="main">
  <span style="background-color:coral;">A</span>
  <span style="background-color:lightblue;">B</span>
  <span style="background-color:khaki;">C</span>
  <span style="background-color:pink;">D</span>
  <span style="background-color:lightgrey;">E</span>
  <span style="background-color:lightgreen;">F</span>
</div>

【讨论】:

  • 我确实尝试了容器的高度,但我真的需要容器是另一个高度,也许我必须在里面添加另一个容器。谢谢
  • 没问题,如果解决了你的问题,请采纳。
【解决方案2】:

这就是你正在尝试的,对。将此样式添加到ul

ul {
        -moz-column-count: 3;
        -moz-column-gap: 20px;
        -webkit-column-count: 3;
        -webkit-column-gap: 20px;
        column-count: 3;
        column-gap: 20px;
    }

This document explains all in detail

我们也有一个插件来完成这项工作Check this

ul {
    -moz-column-count: 4;
    -moz-column-gap: 20px;
    -webkit-column-count: 4;
    -webkit-column-gap: 20px;
    column-count: 3;
    column-gap: 20px;
}
<ul>
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    <li>Item 8</li>
    <li>Item 9</li>
    <li>Item 10</li>
   
</ul>

【讨论】:

  • column-count: 3 的问题是我总是会有 3 列。例如,如果我的列表中只有 7 个项目,那么它们将分布在 3 列中。我需要一列有 4 个项目,然后其余的溢出到下一列,依此类推。因此,当该列达到 4 个项目时,我需要进入另一列。
  • @LeanneDickenson 您也可以通过 jquery 添加column-count。这个列表项是动态的吗??
猜你喜欢
  • 1970-01-01
  • 2021-09-06
  • 2021-04-03
相关资源
最近更新 更多