CSS 多列蛇形图案

标签 css flexbox multiple-columns

<分区>

我有一个元素列表,例如:

<div class="container">
  <div class="item">A</div>
  <div class="item">B</div>
  <div class="item">C</div>
  <div class="item">D</div>
  <div class="item">E</div>
  <div class="item">F</div>
  <div class="item">G</div>
  <div class="item">H</div>
  <div class="item">I</div>
  <div class="item">J</div>
  <div class="item">K</div>
  <div class="item">L</div>
</div>

.container {
  column-count: 4;
}

这给了我:

A  D  G  J
B  E  H  K
C  F  I  L

有没有办法得到(不改变标记结构):

A  F  G  L
B  E  H  K
C  D  I  J

每个偶数列从下到上以模仿蛇形图案。

最佳答案

请试试这个。

.container {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  
}
.item { width: calc(100% / 4); }
.item:nth-child(1) { order: 0; }
.item:nth-child(2) { order: 5; }
.item:nth-child(3) { order: 9; }
.item:nth-child(4) { order: 10; }
.item:nth-child(5) { order: 6; }
.item:nth-child(6) { order: 2; }
.item:nth-child(7) { order: 3; }
.item:nth-child(8) { order: 7; }
.item:nth-child(9) { order: 11; }
.item:nth-child(10) { order: 12; }
.item:nth-child(11) { order: 8; }
.item:nth-child(12) { order: 4; }
<div class="container">
  <div class="item">A</div>
  <div class="item">B</div>
  <div class="item">C</div>
  <div class="item">D</div>
  <div class="item">E</div>
  <div class="item">F</div>
  <div class="item">G</div>
  <div class="item">H</div>
  <div class="item">I</div>
  <div class="item">J</div>
  <div class="item">K</div>
  <div class="item">L</div>
</div>

关于CSS 多列蛇形图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829866/

相关文章:

javascript - 使用 JS 代码在幻灯片中垂直居中图像?

html - 右对齐 FLEXBOX DIV 中的元素?

java - Android sqlite数据库更新查询时没有这样的列

.net - WPF 中的多列列表框

html - 向 CSS 网格布局中的每一列添加滚动

html - CSS 列高滚动

html - Chrome 在鼠标悬停时呈现垂直线

html - 使用 tr :hover css selector is not working in IE 8 (in case of *tr>td>div>input text* mouse hover action) 将样式应用于表行

html - 屏幕左侧的多余空白

html - 如何在 bootstrap 4 的容器中垂直和水平居中放置文本?