【发布时间】:2017-12-19 19:32:44
【问题描述】:
我有一个两列布局,里面有几个项目:
.grid {
column-count: 2;
}
.grid-item {
break-inside: avoid;
height: 50px;
margin-bottom: 10px;
background-color: green;
text-align: center;
line-height: 50px;
color: white;
}
<div class="grid">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
<div class="grid-item">5</div>
</div>
https://codepen.io/Deka87/pen/RgdLeZ
现在我需要能够重新排序仅使用 CSS 的列中的那些项目(因此它们在不同的屏幕分辨率上的顺序不同),所以我想我可以这样做:
.grid {
display: flex;
flex-direction: column;
column-count: 2;
}
.grid-item:nth-child(1) {
order: 5;
}
显然,这不起作用并破坏了 2 列布局。以前有人试过解决这个问题吗?有没有机会让这个工作?
PS:同一行上的项目不应该具有相同的高度(在这种情况下我可以使用简单的浮动)。很抱歉一开始没有说明。
【问题讨论】:
-
你能在容器上设置一个高度吗?商品数量是固定的吗?
-
@Michael_B,是的,项目的数量是固定的,但是它们的高度不是(以及容器的高度)。
-
最终结果应该是什么样子?订单应该是什么样的?
-
我认为您不会找到将它们结合起来的方法...您是否愿意接受其他方法?你的 HTML 结构固定了吗?
-
@ovokuro,我愿意接受任何解决方案。但是 HTML 标记是固定的。谢谢!
标签: css flexbox css-grid css-multicolumn-layout