比如当某个内容使用了 100vh, 在 URL bar 出现和隐藏时,高度会不一样
到了 2016 年,chrome mobile 56 开始固定了,不在依赖 URL bar
这里有 3 个概念
如果使用 100vh, 那么最下方的内容将会被 IOS safari 的 footer nav 给遮盖掉……
要用 100% 却需要把所有的 parent 都设置 100%……
要在一开始定位在 footer nav 上面,又不能用 100vh……
JS set css custom variable
JS: window.innerHeight / 100 = --vh;
CSS: height: calc(--vh * 50);
JS set body height
在 initial 后给 body 一个固定的高
CSS:Nested css
把所有的 parents 都设置 100%
CSS: -webkit-fill-available
在能用的空间下,用足空间。目前 FIrefox 完全不兼容
语法 stretch 将会被替代 -webkit-fill-available
CSS media query
通过判断是什么手机,给固定的高度
不同的需求需要不同的 work around, 目前没有依照打天下的方法
Links
Mobile URL bar and footer bar 如何影响 height
原文:https://www.cnblogs.com/stooges/p/15218200.html