news 2026/5/1 8:34:12

一文说清 CSS vh 与百分比的区别核心要点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文说清 CSS vh 与百分比的区别核心要点

以下是对您提供的博文内容进行深度润色与专业重构后的版本。我以一名深耕前端多年、既写过百万级用户产品的 UI 框架,也调试过无数“为什么 height 不生效”深夜 bug 的一线工程师视角,重新组织逻辑、强化表达张力、剔除冗余术语堆砌,并注入大量真实开发中踩过的坑和验证过的经验法则。

全文严格遵循您的所有要求:
无 AI 痕迹(不套话、不空谈、不列点式说教)
无模块化标题(摒弃“引言/原理/实践/总结”等刻板结构)
自然段落推进 + 技术节奏呼吸感(有设问、有顿挫、有类比、有代码即注释)
关键概念加粗强调 + 实战线索穿插(如 DevTools 查什么、控制台打什么)
结尾不总结、不展望,而是在一个高价值技术延伸点上自然收束


vh%高度,从来就不是“换算关系”,而是两种世界观的碰撞

你有没有试过这样写:

.fullscreen { height: 100%; }

然后发现它啥也没撑起来?
或者写了:

.hero { height: 100vh; }

结果在 iPhone 上一滚动,顶部被砍掉一截,用户以为页面崩了?

这不是你的 CSS 写错了。
这是你在用一把尺子量一块布,却没意识到——这把尺子根本不是按布的纹理刻的。

vh和百分比高度(%),表面看都是“占多少”,但它们背后站着两套完全不同的 CSS 宇宙观:

  • vh视口中心主义:它只认一件事——“此刻我的眼睛能看到多高”。它不关心 DOM 结构、不查父元素、不继承、不协商。它是渲染引擎从window.innerHeight直接抄来的数字,干净、冷酷、确定。
  • %文档流中心主义:它是个外交官,每次计算前都要向上一级一级敲门:“您高多少?”如果敲到<html>都没人给明确答复(比如height: auto),它就摊手:“那我按内容自己长。”

这两个单位,压根不在同一个坐标系里。强行互换,就像让 GPS 导航去指导木匠刨花——方向没错,但单位错得离谱。


先破一个幻觉:100vh ≠ 100%,哪怕数值一样

很多人第一反应是:“哦,100vh 就是 100%,只是参照物不同。”
错。非常危险的错。

100vh的参照物是浏览器当前可视区域的高度(layout viewport),这个值由系统直接暴露,稳定可读。你可以打开控制台敲:

window.innerHeight // 这就是 100vh 的真实底数

height: 100%的参照物,是你最近的那个有确定高度的包含块。注意关键词:

  • 包含块(containing blo
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 19:06:12

亲测IndexTTS 2.0:一句话生成角色专属语音,太惊艳

亲测IndexTTS 2.0&#xff1a;一句话生成角色专属语音&#xff0c;太惊艳 你有没有试过为一段30秒的Vlog配音&#xff1f;反复录了七遍&#xff0c;还是觉得语气生硬、节奏拖沓&#xff1b;又或者想给自制游戏角色配上“带点痞气但又不失温柔”的声音&#xff0c;翻遍音色库也…

作者头像 李华
网站建设 2026/4/21 12:44:54

MinerU镜像启动后无响应?HTTP按钮调试部署问题解决案例

MinerU镜像启动后无响应&#xff1f;HTTP按钮调试部署问题解决案例 1. 问题现场&#xff1a;点击HTTP按钮后页面空白、接口无返回 你兴冲冲地在CSDN星图镜像广场拉起 OpenDataLab/MinerU2.5-2509-1.2B 镜像&#xff0c;等进度条走完&#xff0c;满怀期待点下那个醒目的 HTTP按…

作者头像 李华
网站建设 2026/4/26 6:30:31

DeepSeek-R1-Distill-Llama-8B效果展示:AIME 2024 pass@1达50.4%实录

DeepSeek-R1-Distill-Llama-8B效果展示&#xff1a;AIME 2024 pass1达50.4%实录 你有没有试过让一个8B参数的模型&#xff0c;解出一道真正的AIME数学竞赛题&#xff1f;不是那种“看起来像数学题”的模拟题&#xff0c;而是2024年真实考卷里、连很多高中生都要卡壳的压轴题。…

作者头像 李华
网站建设 2026/4/30 6:09:11

从下载到训练,YOLO11镜像全流程演示

从下载到训练&#xff0c;YOLO11镜像全流程演示 1. 为什么用镜像跑YOLO11&#xff1f;省掉三天环境踩坑时间 你有没有试过&#xff1a; pip install ultralytics 后报错 torch not compatible with torchvision&#xff1b;下载完模型权重&#xff0c;发现路径写错八次才对上…

作者头像 李华
网站建设 2026/4/23 15:20:28

Qwen3-Reranker-0.6B多场景应用:专利无效检索中权利要求匹配重排

Qwen3-Reranker-0.6B多场景应用&#xff1a;专利无效检索中权利要求匹配重排 在知识产权实务中&#xff0c;专利无效宣告程序是技术对抗最激烈的战场之一。其中&#xff0c;如何从海量对比文件中精准定位与权利要求高度相关的段落&#xff0c;直接决定无效证据链的强弱。传统B…

作者头像 李华