问题描述
我正在尝试计算模板主要元素的最小高度,但到目前为止我无法让它工作。我尝试了以下方法。
:root {
--height_header: auto;
--height_footer: auto;
--height_main: calc(100vh - --height_header - --height_footer);
}
header { height: var(--height_header); }
main { min-height: var(--height_main); }
footer { height: var(--height_footer); }
在我看来它应该可以工作,如果我用 50px 替换方法 A 中的值 auto ,那么 main 的 min-height 计算得很好。
如何从 --height_header 获取值“auto”的值?在某个时候,它会被计算出来,我应该能够得到它并用它来计算 --height_main。
解决方法
您的假设不正确,auto
不会被替换为值。它将始终保持自动(您的浏览器会完成这项工作,但不会显示在 CSS 变量中)。
因此,要么将值设置为可以在 calc()
中使用的值,要么使用另一种方法(回到过去,如果对象具有“动态”属性,我们使用 Javascript 来读取对象的“维度” ).