javascript - 如果元素数量超过 X,CSS/html 会在两列中显示列表?

标签 javascript jquery html css twitter-bootstrap

我有一个动态的元素列表。 我不希望这个列表太长。 我可以使用:

ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
}

但这总是会产生两列。如果列表中只有几个元素,我宁愿只有一列。 所以对于 5 个或更少的元素,我想要这个:

1
2
3
4
5
但是有 6 个或更多元素我想要这个:
1    4
2    5
3    6
我使用 css3、html、bootstrap 2.3.2 和 jquery 有没有人提供有关执行此操作的最佳方法的一些提示?

最佳答案

如果您能够使用 CSS 网格,您可以使用 grid-template-rows 来做到这一点和 grid-auto-flow指示。网格可以在大多数浏览器中使用,在 IE11 中使用 autoprefixer :

.list {
  display: grid;
  grid-template-rows: repeat(5, min-content);
  grid-auto-flow: column;
}
<ul class="list">
  <li class="item">1</li>
  <li class="item">2</li>
  <li class="item">3</li>
  <li class="item">4</li>
  <li class="item">5</li>
  <li class="item">6</li>
  <li class="item">7</li>
</ul>

关于javascript - 如果元素数量超过 X,CSS/html 会在两列中显示列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33217009/

相关文章:

javascript - 使用嵌套 for 循环创建 HTML 表格

c# - 将 JavaScript 数组传递给 IEnumerable 会给出空值

javascript - 为什么这不起作用 - 使用 jquery 进行实时更新

javascript - 使 <select> 选项自动为 "click"

javascript - 更改服务日历中的选定行 [CRM2013]

javascript - 来自本地文件的 jQuery ajax 请求(Origin 'null' 不允许访问)

javascript - chrome 设置的不透明度未按预期一致渲染

javascript - 如何通过名称获取html元素

javascript - 两个独立的滚动区域简单的解决方案

javascript - 在 Javascript 中, "this.something"是否查找 "something"的作用域链?