我如何按照附加的图像实现此目的?

jquery - 3行网格中的 float div,中间行,顶部偏移-LMLPHP

如您所见,我有相等宽度的块向左浮动,但是我希望中间行与左右行相比有一定的偏移量。

用普通的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>

10-06 13:13