我有一个简单的flex-box布局,其容器如下:
.grid {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
Run Code Online (Sandbox Code Playgroud)
现在我希望最后一行中的项目与另一行对齐.justify-content: space-between;应该使用,因为可以调整网格的宽度和高度.
目前它看起来像

在这里,我希望右下角的项目位于"中间列"中.实现这一目标的最简单方法是什么?这是一个显示此行为的小jsfiddle.
.exposegrid {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.exposetab {
width: 100px;
height: 66px;
background-color: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(0, 0, 0, 0.4);
border-radius: 5px;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
margin-bottom: 10px;
}Run Code Online (Sandbox Code Playgroud)
<div class="exposegrid">
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div>
<div class="exposetab"></div> …Run Code Online (Sandbox Code Playgroud)div一个接一个给出9 秒,我想通过CSS创建一个3X3网格.
我怎么做?
.cell {
height: 50px;
width: 50px;
background-color: #999;
display: inline-block;
}
.cell:nth-child(3n) {
background-color: #F00;
/* what property should I use to get a line break after this element? */
}
/* this doesn't work; at least not in safari */
.cell:nth-child(3n)::after {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<div class="grid">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>Run Code Online (Sandbox Code Playgroud)
注意:我不想要float/clear解决方案.重点是CSS,而不是HTML重组.
如果我添加content: '\A'; white-space: pre; …