【发布时间】:2010-09-06 17:12:02
【问题描述】:
使元素的最小高度为 100% 的最佳方法是什么? 各种浏览器?
特别是如果您有一个带有固定height 的header 和footer 的布局,
如何使中间内容部分填充100% 之间的空间,而footer 固定在底部?
【问题讨论】:
-
你可以考虑
min-height: 100vh;。这会将高度设置为等于或大于屏幕大小vh: vertical height。更多信息:w3schools.com/cssref/css_units.asp. -
澄清一下,
vh代表viewport height,因此您也可以使用vw代表viewport width和vmin代表最小的维度,viewport minimum。 -
此解决方案将在 chrome for Android 上产生不需要的结果(必须检查其他移动浏览器,如 Safari),因为 100vh 与 100% 不同。实际上,height 100% 对应的是屏幕高度减去屏幕顶部的地址栏,而 100vh 对应的是没有地址栏的屏幕高度。所以使用 100vh 不适用于 Android 的 chrome。您的页脚将在首屏下方的高度与浏览器地址栏的高度相匹配。
-
您可以使用 Flexbox 实现这一点。 See example.
-
现在,'100vh' 就像魅力一样发挥作用