我已经看很久了,我不知道这里发生了什么。谁能给我一个提示,为什么会这样?Firefox、Chrome、IE 都有相同的结果。
在此示例中,容器的宽度设置为1000px,内部 div 溢出容器:http: //jsfiddle.net/S65Hv/
在这个例子中我只将容器的宽度更改为300px,结果是内部项目的高度在容器内,没有溢出:http: //jsfiddle.net/5EwTG/
代码:
<style>
.container {
position: absolute;
top: 10px;
left: 10px;
width: 1000px;
height: 300px;
border: 1px solid grey;
}
.item {
width: 48%;
height: 48%;
float: left;
position: relative;
margin: 1%;
}
.innerItem {
border: 1px solid red;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
</style>
<div class="container">
<div class="item">
<div class="innerItem">
</div>
</div>
<div class="item">
<div class="innerItem">
</div>
</div>
<div class="item">
<div class="innerItem">
</div>
</div>
<div class="item">
<div class="innerItem">
</div>
</div>
</div>
内部 div 的高度以百分比表示,总和为 100%,包括边距。
据我所知,300px 高度的 100% 始终相同,并且应该与宽度无关。
这种行为是设计使然吗?如果是这样,为什么?