响应式 div 视口大小的 50% 高度

hal*_*alp 3 html css grid responsive-design

我尝试制作一个由四个框组成的网格,每个框为全屏尺寸的 50% 高度和 50% 宽度,如下图所示:http : //a.pomf.se/gqnzzs.jpg

我的问题是我无法让 50% 的高度起作用。如何在每个视口大小的 50% 的高度处设置 2 div 的高度?

HTML:

<div class="wrapper">
  <div class="row">
    <div class="panel-1">... </div>
    <div class="panel-2">...</div>
  </div>
  <div class="row">
    <div class="panel-3">...</div>
    <div class="panel-4">...</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.wrapper{
    width: 100%;
    height: 100%;
    display: inline-block;}

.panel-1{
    width: 50%;
    float: left;
    height: 50%;}

.panel-2{
    width: 50%;
    float: left;
    height: 50%;}

.panel-3{
    width: 50%;
    float: left;
    height: 50%;}

.panel-4{
    width: 50%;
    float: left;
    height: 50%;}
Run Code Online (Sandbox Code Playgroud)

我非常感谢任何帮助!

问候

Jos*_*ier 9

支持的浏览器中,您可以使用视口百分比单位vhvwvminvmax

在这种情况下,只需使用50vh,其中 1 个单位等于初始包含块高度的 1%。

示例在这里

.panel-1, .panel-2,
.panel-3, .panel-4 {
    height: 50vh;
    width: 50%;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

对于它的价值,如果您仍然想使用基于百分比的单位,您还需要定义所有父元素的高度:

更新示例

html, body, .wrapper {
    height: 100%;
}
.row {
    height: 50%;
}
.panel-1, .panel-2,
.panel-3, .panel-4 {
    height: 100%;
    width: 50%;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)