生产环境网站最常用的CSS单位排名揭晓

生产环境CSS单位排行榜揭示:em超越rem排第二,动画单位deg和s闯入前三甲
一期以问答游戏形式呈现的前端节目,通过真实生产环境网站的CSS单位使用频率排行,颠覆了许多开发者的直觉认知。px以压倒性优势位列第一毫无悬念,但第二名竟是「容易踩坑」的em(覆盖率91.3%),而非被广泛推荐的rem(仅排第五,80.3%)——这主要源于Bootstrap等老牌框架在内部大量使用em,令无数项目被动「继承」了这一单位。更出人意料的是第三、第四名:seconds(s)和degrees(deg),分别服务于CSS动画时间与旋转/渐变角度。百分比、视口单位、字符单位等「看起来很合理」的选项全部落榜。这份榜单揭示出最佳实践与实际普及之间的落差,以及框架选型对开发者技术习惯的深层影响。
一场关于CSS单位的趣味竞猜
在一期以「前端家庭问答」形式呈现的YouTube节目中,主持人抛出了一个看似简单却极具迷惑性的问题:在真实的生产环境网站中,开发者使用最频繁的CSS单位是什么?
这里所说的「生产环境网站」并非那些追求最新技术栈的前沿项目,而是遍布互联网的实际站点——大量使用WordPress、充斥着表格布局、跑着Bootstrap框架的传统网站。这类站点的技术选择往往滞后,也因此更能反映CSS单位在真实世界中的普及程度。
参与者Alex在开场就笃定地给出了第一个答案:像素(px)。这几乎是所有前端开发者的直觉,而结果也印证了这一点——px正是排名第一的答案。

前五名单位的意外排序
真正有意思的地方,在于第一名之后的排名顺序,它打破了不少开发者的固有认知。
px 与 em 的统治地位
排在第二位的是 em,覆盖率高达 91.3%。这个数字让参与者相当意外。em 单位在开发者社区中口碑复杂——它相对于父元素字号计算,一旦嵌套使用就容易「踩坑」(foot-gunny),因此很多人有意识地避开它。
但现实是,em 的实际使用率反而高于被普遍推荐的 rem。原因不难推测:大量老旧网站和框架(尤其是Bootstrap等)在其内部大量依赖 em,开发者即便自己不写,也「继承」了这些单位。这正是「生产环境」与「最佳实践」之间的鸿沟。
em 的计算逻辑值得稍作说明:它以当前元素的父元素字体大小为基准,例如父元素为 16px 时,1.5em 等于 24px。这一机制在单层结构中直觉清晰,但一旦出现嵌套,子元素的 em 会基于父元素(而非根元素)的字号累乘计算,导致深层嵌套中字号「滚雪球」式失控——这正是开发者口中「踩坑」的根源。Bootstrap 3/4 在按钮、表单、排版等核心组件中大量以 em 控制内部间距和字号,凡是引入 Bootstrap 的项目,即便开发者自己一个 em 都不写,构建产物里也早已布满了这个单位。这解释了为何 em 的覆盖率会比「更现代、更安全」的 rem 还要高出一截。
rem 仅排第五
作为现代CSS推荐的字号单位,rem 的排名却出人意料地落在第五位,覆盖率为 80.3%。相对根元素计算、不受嵌套影响的特性让 rem 在新项目中广受青睐,但由于历史站点的存量巨大,它在整体生产环境中的渗透率反而低于 em。

第三、第四名颠覆直觉
当被问到第三和第四名时,参与者陷入了明显的思维盲区。他们尝试猜测了多个「看起来很合理」的选项,却全部落空:
- 视口单位(vw/vh):被认为「不算坏的猜测」,但实际连边都没沾上;
- 字符单位(ch)和行高相关单位:同样不在榜单内;
- 英寸等打印单位(in):可能在完整列表里,但绝进不了前五;
- 百分比(%):被称赞是「很棒的猜测」,但依然落榜。

参与者的思路始终停留在「长度和尺寸」这一维度,这也是大多数开发者谈到「单位」时的第一反应。
答案:degrees 与 seconds
谜底揭晓时,两个答案让人恍然大悟:
- 第四名:degrees(度,deg)——用于旋转、渐变角度、
transform变换等场景; - 第三名:seconds(秒,s)——用于
transition和animation的时间控制。

这两个单位并不描述空间尺寸,而是分别服务于角度和时间。它们之所以排名靠前,恰恰是因为现代网页几乎无处不在的动画、过渡效果与视觉变换——几乎每一个稍具交互的站点都会用到它们。
degrees(deg)和 seconds(s)属于 CSS 中非长度类型的有类型值(typed values)。deg 主要出现在 rotate(45deg)、linear-gradient(90deg, ...) 和 hue-rotate(180deg) 等场合;s(以及毫秒单位 ms)则是 transition: all 0.3s ease 和 animation-duration: 1.2s 的必要组成部分。现代浏览器对 GPU 合成层的优化使得 transform 和 opacity 动画几乎零性能成本,这进一步推动了开发者在各类交互反馈(悬停、展开、淡入淡出)中大量采用过渡与关键帧动画。当几乎每个导航菜单、卡片 hover、模态框出现都带有 transition 时,s 的出现频率自然水涨船高,足以将百分比和视口单位远远甩在身后。
这份榜单给前端开发者的启示
这期节目虽以娱乐问答形式呈现,却折射出几个值得思考的现实。
最佳实践 ≠ 实际普及。 rem 被广泛推荐,却因存量网站的历史包袱排在 em 之后。这提醒我们,评估一项技术的真实影响力时,不能只看社区的推荐声音。
「单位」的概念远比尺寸更广。 参与者的思维盲区非常典型——大脑习惯性把「单位」等同于长度。而 degrees 和 seconds 的上榜说明,动画与变换早已成为现代网页的标配,时间和角度单位的使用频率甚至超过百分比和视口单位。
框架塑造了实际数据。 em 的高覆盖率很大程度上来自 Bootstrap 等框架的内部实现。开发者的技术选择,往往在不知不觉中被所依赖的工具决定。
对于日常写CSS的开发者而言,这份榜单是一次有趣的自我检视:你以为自己最常用的单位,未必就是整个互联网最常用的那个。
相关推荐

中国开源AI把成本压到四分之一:Kimi等模型如何改写游戏规则

修复流式排版难题:容器查询与@property的组合技
流式排版在容器达到最大宽度后字号仍持续增长、多容器下字号不一致,是 CSS Fluid Typography 的常见痛点。本文讲解如何用容器查询单位配合 @property 注册自定义属性,锁定统一字号,兼顾响应式布局与设计一致性。

在对象存储上运行Git:重构Packfile的技术思路
探讨如何通过重新生成Packfile让Git运行在S3等对象存储之上。分析Git存储模型与对象存储的兼容难点、打包策略的优势,以及一致性与写放大等现实权衡。