我如何按照附加的图像实现此目的?
如您所见,我有相等宽度的块向左浮动,但是我希望中间行与左右行相比有一定的偏移量。
用普通的CSS,Flexbox可能吗?还是我必须使用砌体之类的东西?
我尝试对中间行中的每个块应用上边距,但这不起作用:
.block {
background-color:red;
height:200px;
width:33.333%;
border:1px solid black;
float:left;
box-sizing: border-box;
}
.block:nth-child(3n+2) {
margin-top:10px;
background:blue;
color:white;
}
https://jsfiddle.net/oaLh13dL/2/
最佳答案
您可以使用Flexbox
代替浮点数。
.block_wrap {
display: flex;
flex-wrap: wrap;
}
.block {
background-color: red;
height: 200px;
flex: 0 0 calc(33.333% - 20px);
border: 1px solid black;
box-sizing: border-box;
margin: 0 10px;
}
.block:nth-child(3n+2) {
margin-top: 10px;
background: blue;
color: white;
}
<div class="block_wrap">
<div class="block">1</div>
<div class="block">2</div>
<div class="block">3</div>
<div class="block">4</div>
<div class="block">5</div>
<div class="block">6</div>
<div class="block">7</div>
<div class="block">8</div>
</div>