鉴于此html:
<body>
<div id="a"></div>
<div id="b"></div>
</body>
我想#b
填充其容器块的所有剩余垂直空间,我从这个开始:
body {
height: 500px;
width: 500px;
overflow: hidden;
}
#a {
height: 100px;
width: 100px;
}
#b {
height: 100%;
width: 100%;
}
100% 高度也是如此#b
,这意味着它正在采用其父容器块的高度,即500px
,问题是overflow: hidden;
似乎不起作用,#b
没有被剪裁。
另一方面,如果我用另一个具有与上述相同属性的 div 进行包装#a
,我将得到所需的结果:#b
body
#wrap {
height: 500px;
width: 500px;
overflow: hidden;
}
#a {
height: 100px;
width: 100px;
}
#b {
height: 100%;
width: 100%;
}
当然用这个html:
<body>
<div id="wrap">
<div id="a"></div>
<div id="b"></div>
</div>
</body>
我的问题是为什么div
并且body
似乎具有相同属性的不同行为?有没有办法在没有包装的情况下获得相同的效果?
为了说明这个问题,我创建了两个 jsFiddles:
带有body标签的jsFiddle作为包装器:http: //jsfiddle.net/3AMtG/
带有 div 标签作为包装器的 jsFiddle:http: //jsfiddle.net/2QWn3/
两个具有相同属性的 jsFiddle 会产生不同的结果。这是为什么?