在调整页面大小时调整其他div中div的大小

时间:2017-02-01 21:55:40

标签: html css

我想调整另一个div中的div,它必须比主div更小。

我写了这个jsfiddle让你明白。

Jsfiddle

Jsfiddle whit div.resize in % height

HTML:

<div class="container">
 <div class="resize">
  <div class="red">
  </div>
 </div>
</div>

CSS:

.container
{
    width:800px;
    height:500px;
}
html,body{
    height:100%;
    width:100%
}
.resize{
  height:200px;
}

.red{
background-color: red;
height: 50%;
}

我无法理解为什么,如果我调整页面大小并且div“调整大小”,则div“red”不会调整大小。

1 个答案:

答案 0 :(得分:1)

工作得很好。添加了一些轮廓,以便您可以看到边缘。

.red div是其父级的一半高度。更改父级,您将看到.red div更改其高度。

此外,调整浏览器窗口的大小不会产生任何影响,因为您要将.container.resize设置为固定像素值。

html,body{
    height:100%;
    width:100% /* Not needed, this is the default */
}

.container {
  width:600px;
  height:150px;
  outline:1px solid black;
}

.resize{
  height:100px;
  outline:1px solid aqua;
}

div.red{
  background-color: red; 
  height: 50%;
}
<div class="container">
 <div class="resize">
  <div class="red"></div>
 </div>
</div>

但是,如果您正在寻找自动调整大小,您不能使用固定值(像素),您必须使用相对值(百分比,vh,vw,em),如下所示:

.container {
  width:600px;
  height:10vh; /* 10% the height of the viewport */
  outline:1px solid black;
}

.resize{
  height:75%; /* 75% the height of the parent element */
  outline:1px solid aqua;
}

div.red{
  background-color: red; 
  height: 50%; /* 50% the height of the parent */
}
<div class="container">
 <div class="resize">
  <div class="red"></div>
 </div>
</div>