CSS:父级尺寸设置为像素时的嵌套元素高度

时间:2012-08-09 02:05:08

标签: html css layout

请查看this fiddle

这是一个更复杂形式的非常愚蠢的版本。在.dojoxAlertBar中,出于编程原因,高度设置为100%。事情都很好,直到我将#registerform的高度设置为一组数字:

/*    height:117px;  */

如果没有这个,消息的高度“就像它需要的那样大”。但是,取消注释CSS中的117px高度会导致.dojoAlertBox的高度等于#registerForm

有人可以解释一下为什么会这样吗?我一直在误解“高度”在CSS中是如何工作的。 “100%”究竟意味着什么?如果它意味着“100%的包含元素”,那么即使父母没有指定的高度,为什么不设置为“大”?

事实上,如果我可以乞求,有一个简单的表格,说明如何计算固定/绝对和相对/静态元素的高度,那也很好。

1 个答案:

答案 0 :(得分:1)

  

没有这个,消息的高度“就像它需要的那样大”。

要为元素(.dojoAlertBar)指定百分比高度,其父元素(#registerForm)必须具有显式高度。因为,在您的示例中,.registerForm的高度为auto,所以该块将采用其内容的高度。

  

然而,解决这个问题的结果是使评论框与#registerForm一样大......那“100%”究竟是什么意思?

高度为100%表示该元素的高度为其父级的100%。因此,父div必须具有显式的height属性。如果#registerForm的高度为117px,则表示.dojoAlertBar将为该高度的100%,或者为117px。