我有 CSS 网格来生成两列布局。但问题是它不是每列中的顶部对齐内容。
例如,在第二列中,最后一个元素应该与另一个第二列元素顶部对齐,但要向上对齐。
body>div {
display: grid;
grid-template-columns: 50% 50%;
grid-template-rows: auto auto;
grid-auto-flow: column;
/* https://codepen.io/maddesigns/pen/oZGWRN */
/* https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow */
}
body>div>div:nth-of-type(1) {
height: 300px;
}
body>div>div:nth-of-type(2) {
height: 100px;
}
body>div>div:nth-of-type(3) {
height: 200px;
}
<div style="">
<div style="background:red">
1
</div>
<div style="background:green;">
2
</div>
<div style="background:yellow">
3
</div>
<div style="background:pink">
4
</div>
</div>
我不能将 flex 用于此布局,因为我想在不定义容器高度的情况下实现此布局。column-count:2
如果不定义容器高度就可以工作,但是我不能使用 div 重新排序。
所以我使用 CSS 网格,因为 div 重新排序仍然可用(例如/即order:–1;
效果很好),它会自动划分要放入两列中的每一列的内容。