我在容器中有未知数量的子项:
<div class="container">
<div class="child">Item 1</div>
<div class="child">Item 2</div>
<div class="child">Item 3</div>
<div class="child">Item 4</div>
<div class="child">Item 5…</div>
</div>
我想将这些项目堆叠成2列,使它们出现:
Item 1 Item 4
Item 2 Item 5
Item 3
我不知道如何在不知道网格行数的情况下使用CSS grid,或者在不明确设置容器高度的情况下使用flexbox来实现这一点。
有没有人能提出一个方法来做到这一点?
3条答案
按热度按时间k4emjkb11#
如果有使用flexbox和grid的义务,那么据我所知,你需要容器的高度(使用JavaScript或你谈到的CSS自定义属性动态计算它)。
我可以想到一种方法来实现这一点纯粹在CSS没有任何动态计算或提前知道的高度,这是通过使用
column-count
属性。有了这个,你不必担心进来的物品数量。在这里分享我的解决方案,以供参考,如果你正在寻找一个解决方案以外的flexbox或网格:z4iuyo4d2#
它可以在CSS中完成,如果你有一个最大数量的可能的元素
基于数量查询设置样式(很多样式)可以完成这项工作:
另一种方法是在服务器端添加类
gg0vcinb3#
试试这个:
但我也会用JavaScript