我想在纯CSS中创建四个基于宽度和高度的视图端口,而不是相等的框。
宽度必须大于高度,并希望它具有响应性
这样地:
我这样做:

html, body {
  width: 100%;
  height: 100%;
}

.container {
  padding: 25px;
  width: 100%;
  height: calc(100vh - 100px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.container.four {
  width: 80%;
  margin: 0 auto;
}

.box {
  background-color: red;
  position: relative;
  height: 100%;
}
.box--four {
  width: 47%;
  height: 45%;
}

<div class="container four">

    <div class="box box--four">

    </div>


    <div class="box box--four">

    </div>

    <div class="box box--four">

    </div>


    <div class="box box--four">

  </div>
</div>

我能用纯css做这个吗?或者我需要js来做这个?

最佳答案

.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.box {
  width: 40vw;
  height: 20vw;
  margin: 5px;
  background-color: red;
}

<div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

jsFiddle

关于html - 如何使用flexbox制作四个基于视口(viewport)的盒子?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42472132/

10-12 15:10