请参阅http://jsfiddle.net/A2Qnx/1/
<div id='w'>
<div id='p'>
<div id='c'>
</div>
</div>
</div>
当绝对定位打开时,div P的高度为60px(父级为50,填充为10)。
现在,如果关闭绝对定位,div P和div W将具有相同的高度110px(来自孩子的100 +来自填充的10)。
有人可以向我解释这里发生了什么吗?
1)当绝对定位开启时,为什么P从父母的最小高度而不是孩子的高度获得100%的高度? (为什么填充仅适用于P?)
2)当绝对定位关闭时,为什么P从孩子那里取100%的高度而不是父母的最小高度? (为什么填充仅适用于P和W?)
答案 0 :(得分:0)
填充仅在#p
...
对于高度,绝对定位使元素脱离正常流量。 100%的高度使得该元素占据除静态之外的任何父级的整个高度(如果没有找到,则为主体)。由于它不在流程中,#w
元素实际上没有元素,因此它恢复到其最小高度的原因。