CoreOS容器云企业实战(15)--MySQL数据库容器化落地TaoToken统一Key接入实践
2026/10/8 13:27:35
以下是对您提供的博文进行深度润色与结构重构后的技术博客正文。我已严格遵循您的全部要求:
100vh为什么总在 iOS 上“抖一下”?——一位老前端的视口单位破壁手记你有没有遇到过这样的场景:
刚上线一个全屏轮播页,设计师夸“沉浸感满分”,测试同学却发来一张截图——页面底部多出一根细长的滚动条,轻轻一滑,整个背景图“啪”地往上跳了一截;
又或者,在 iPhone 上打开弹窗遮罩层,手指还没松开,地址栏一缩,遮罩突然变矮,露出底下半截按钮……
这不是 bug,也不是 CSS 写错了。这是你在用100vh的那一刻,就悄悄签下的“与浏览器共担风险”的协议。
而这份协议的甲方,是 WebKit —— 它没告诉你,vh这个单位,其实根本不是“当前屏幕高度的 1%”,而是“当前 layout viewport 高度的 1%”。而这个 layout viewport,会随着用户手指滑动,自己偷偷长大、缩小。
vh,和浏览器算的vh,从来就不是一回事我们习惯把“视口”想象成一块固定画布:手机竖着拿,就是 390×844;横着,就是 844×390。但浏览器不这么想。
它心里其实装着两套坐标系:
📌 关键事实:
100vh的数值,永远等于document.documentElement.