起初我误读了这个问题,但在第二个想法我将其解释为:
该html
元素忽略min-height: 100%
.
这是为什么?
“为什么”的答案在相关规范中,强调我的:
最小高度
...
价值:<length> | <percentage> | inherit
...
<percentage>
指定用于确定使用值的百分比。该百分比是相对于生成框的包含块的高度计算的。如果包含块的高度没有明确指定(即,它取决于内容高度),并且该元素不是绝对定位的,则百分比值被视为'0'(对于'min-height')或'none' (对于“最大高度”)。
这就是为什么您需要为元素设置一个高度以便在该html
元素min-height
上工作body
。或者,您可以绝对定位 html 元素,如下所示:
html { border: 10px solid black }
body { border: 10px dashed red }
html { position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
/* alternatively: html { min-height: 100%; height: 100%; } */
html { min-height: 100%; }
body { min-height: 100%; }
请参阅演示或演示。_position: absolute
height: 100%
感谢@Alohci 纠正我对规范的解释。