HTML
<div class='wrapper'>
<div class='elementContainer'>
This line should start halfway down the yellow box
</div>
</div>
CSS
.wrapper
{
position: relative;
height: 300px;
width: 400px;
background: lightyellow;
border: 1px solid black;
}
.elementContainer
{
position: relative;
height: 200px;
width: 300px;
padding-top: 50%;
background: red;
}
Fiddle示例:http://jsfiddle.net/jakelauer/s2ZXV/
在上面的示例中,.elementContainer
有一个上内边距为 50%
。这个值应该是基于父元素(.wrapper
)的高度计算的,也就是说应该是 150px
。但实际计算出来却是 200px
。发生了什么问题呢?
.elementContainer
的padding-top: 50%
。 - Robert Harvey100px
,因为包含块的高度为200px
。 - Jake.wrapper
中的400。请参见https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top - Robert Harvey