如何让 Flex 容器垂直居中且 body 占满全屏?
flex 垂直居中与 body 占满全屏
想要实现垂直居中并让 body 占满全屏,你需要:
为 html 标签添加高度样式
在你的代码中,只为 body 设置了高度,而没有为 html 标签设置。你需要为 html 标签也添加 height:100% 的样式。
html, body { height: 100%; }
使用 vh 单位设置 body 高度
另一个方法是使用 vh 单位来设置 body 高度,但 vh 单位可能会引发其他问题。
body { height: 100vh; }
需要注意的是,vh 单位会根据视窗高度计算,所以如果你将 body 同时设置为 100vh 和 100%,可能会导致与你预期不同的结果。
有关 vh 单位的更多信息,你可以参考以下讨论:
- [移动端 body 高度为100vh 时,实际高度超过了视窗高度](https://segmentfault.com/q/1010000034360064)