当前位置: 首页 > news >正文

新手教程:如何避免 CSS vh 引发的滚动条问题

以下是对您提供的博文进行深度润色与结构重构后的技术博客正文。我已严格遵循您的全部要求:

  • 彻底去除AI痕迹:语言自然、有节奏感,像一位实战经验丰富的前端工程师在分享踩坑心得;
  • 摒弃模板化标题:无“引言/概述/总结”等程式化小节,全文以逻辑流驱动,层层递进;
  • 内容有机融合:将规范原理、渲染机制、兼容策略、代码实践、调试经验交织叙述,不割裂;
  • 强化人话表达与工程语感:加入设问、类比、经验判断(如“坦率说,这个值在真机上往往比文档写的高5px”)、真实场景痛点;
  • 保留所有关键代码、表格、引用,并增强可读性与上下文解释
  • 结尾不写“总结”“展望”,而是在一个具象、有力的技术落点处自然收束,并轻量引导互动

100vh为什么总在 iOS 上“抖一下”?——一位老前端的视口单位破壁手记

你有没有遇到过这样的场景:
刚上线一个全屏轮播页,设计师夸“沉浸感满分”,测试同学却发来一张截图——页面底部多出一根细长的滚动条,轻轻一滑,整个背景图“啪”地往上跳了一截;
又或者,在 iPhone 上打开弹窗遮罩层,手指还没松开,地址栏一缩,遮罩突然变矮,露出底下半截按钮……

这不是 bug,也不是 CSS 写错了。这是你在用100vh的那一刻,就悄悄签下的“与浏览器共担风险”的协议。

而这份协议的甲方,是 WebKit —— 它没告诉你,vh这个单位,其实根本不是“当前屏幕高度的 1%”,而是“当前 layout viewport 高度的 1%”。而这个 layout viewport,会随着用户手指滑动,自己偷偷长大、缩小


你以为的vh,和浏览器算的vh,从来就不是一回事

我们习惯把“视口”想象成一块固定画布:手机竖着拿,就是 390×844;横着,就是 844×390。但浏览器不这么想。

它心里其实装着两套坐标系:

  • Visual Viewport(可视视口):你眼睛看到的那一块,随缩放、滚动实时变化,但高度相对稳定;
  • Layout Viewport(布局视口):CSS 盒模型计算用的“逻辑画布”,宽度常被设为 980px(为了兼容老站),而高度,会跟着地址栏一起呼吸

📌 关键事实:100vh的数值,永远等于document.documentElement.

http://www.cnnetsun.cn/news/799677.html

相关文章:

  • 新手必看!Qwen-Image-2512-ComfyUI保姆级部署教程
  • 风格强度怎么调?科哥人像卡通化参数设置全攻略
  • 如何提升用户体验?unet image WebUI界面优化实战建议
  • TurboDiffusion部署教程:基于Wan2.1的文本生成视频详细步骤
  • 企业级AI内容生成:Qwen儿童向模型多场景实战应用
  • Packet Tracer下载速度慢?一文说清优化技巧
  • YOLO11+RK3588实战,端侧部署完整流程
  • 看完就想试!YOLOv10打造的智能监控检测案例
  • cv_resnet18_ocr-detection ONNX导出实战:跨平台部署详细步骤
  • Unsloth代码补全模型:StarCoder微调实战
  • 开源大数据架构全栈技术选型指南
  • Paraformer-large持续集成CI:自动化测试部署流水线搭建
  • 用FSMN VAD做了个会议录音分析项目,附完整过程
  • springboot农村留守儿童援助信息管理系统设计实现
  • 看完了就想试!Z-Image-Turbo生成的艺术作品太震撼
  • 模拟电路实验入门:使用面包板搭建简单电路完整示例
  • BusyBox与Buildroot关系解析:系统构建视角
  • 麦橘超然vs Fooocus:轻量化部署方案性能全方位对比
  • 好写作AI | 一键生成PPT:如何用你的论文草稿,速通毕业答辩第一关
  • 用Qwen-Image-2512-ComfyUI做了个古风小镇,效果太真实
  • 一句话总结:Qwen2.5-7B微调,有它真省心
  • 开源ASR模型选型指南:Paraformer优势与适用场景深度解析
  • 智能分析前端化:在UVC摄像头中集成运动检测
  • verl能否导出ONNX模型?格式转换部署尝试
  • PCB结构热设计:内部构造、边界条件(一)
  • Z-Image-Turbo镜像推荐:AI绘画开发者必备的五大工具之一
  • 如何让融合更自然?皮肤平滑+亮度调节技巧来了
  • Qwen3-Embedding-4B部署卡顿?显存优化实战案例解析
  • 家庭服务器部署gpt-oss-20b-WEBUI,打造私人AI助手
  • gpt-oss-20b-WEBUI助力教育场景智能问答开发