与flexbox级联网格布局

时间:2017-12-04 07:22:39

标签: html css css3 flexbox

我有很多不同身高的盒子,我想得到这个结果:

Box result expected

但是盒子相对于最大盒子高度对齐。 我将它添加到容器中,但尺寸线是更大的元素。

display: flex;
margin: 9px;
flex-wrap: wrap;

Demo

1 个答案:

答案 0 :(得分:1)

这是现代网格布局的一个小方法。如果您尝试,可以轻松操作网格行!这是一个例子......



html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  margin: 40px;
}

.wrapper {
  margin: 0 0 20px 0;
  width: 500px;
  height: 400px;
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(3, 100px);
  justify-content: center;
  align-content: end;
}

.box {
  background-color: #444;
  color: #fff;
  border-radius: 5px;
  padding: 20px;
  font-size: 150%;
}

.item1 {
  grid-column: 1 / 3;
  grid-row: 1/3;
}

.item2 {
  grid-column: 1 / 3;
  grid-row: 3 / 4;
}

.item3 {
  grid-column: 3 / 5;
}

.item4 {
  grid-column: 3 / 5;
  grid-row: 2/4;
}

.item5 {
  grid-column: 5 / 7;
  grid-row: 1/ 3;
}

.item6 {
  grid-column: 5 / 7;
  grid-row: 3/ 4;
}

<div class="wrapper">
  <div class="box item1">One</div>
  <div class="box item2">Two</div>
  <div class="box item3">Three</div>
  <div class="box item4">Four</div>
  <div class="box item5">Five</div>
  <div class="box item6">Six</div>
</div>
&#13;
&#13;
&#13;