我找到了一种方法,使一个div容器占据至少一个页面的全部高度,通过设置最小高度:100%;。然而,当我添加一个嵌套的div并设置高度:100%;,它不会延伸到容器的高度。有办法解决吗?
Html, body {
高度:100%;
保证金:0;
}
#控制{
最小高度:100%;
背景:粉色;
}
# containment-shadow-left {
高度:100%;
背景:水;
}
< div id = "容器" >
< div id = " containment-shadow-left " >
你好世界!
< / div >
< / div >
我不相信这是浏览器的bug。所有的行为都是一样的——也就是说,一旦停止指定显式高度,min-height基本上就是“最后一步”了。
这似乎正是CSS 2.1规范所建议的:
http://www.w3.org/TR/CSS2/visudet.html#the-height-property
该百分比是根据生成的框的包含块的高度计算的。如果包含块的高度没有明确指定(即,它取决于内容高度),并且该元素不是绝对定位,则该值计算为'auto'。
因此,由于min-height父类没有显式的height属性设置,它默认为auto。
有一些方法可以通过使用display: table-cell或新的样式(如flexbox)来解决这个问题,如果这对您的目标用户的浏览器可行的话。在某些情况下,您还可以通过在绝对定位的内部元素上使用top和bottom属性来改变这种情况,这将为您提供100%的高度而无需指定。