跳到主要内容
马上默工具工作台
通用实用 · 前端换算

px / rem / em 换算

设计稿给的是 px,代码里要写 rem。填一次根字号,三个单位立刻互通,还能把整段尺寸批量粘进来一次转完,顺手生成字号阶梯。

  • 三单位互通:px ↔ rem ↔ em,em 可单独指定父级字号。
  • 批量换算:多值一次粘贴,生成可复制的对照表。
  • 阶梯生成:按比例出一套字号变量,直接粘进 CSS。

单位换算

实时计算

浏览器默认 16px,若项目设了 62.5% 则填 10。

em 相对父元素,不是相对根元素。

输入单位

批量换算

逗号、空格或换行分隔
粘贴多个尺寸,一次得到 px / rem / em 三列结果。

常用尺寸速查

点一下填入上方

字号阶梯生成

AI 字号方案建议

需人机验证

让 AI 按你的项目类型给一套字号阶梯与响应式断点建议。首次点击会先弹出点选验证码。

px、rem、em 到底该用哪个

三者不是新旧关系,而是各自解决不同问题。

rem 适合做全局尺度

rem 只认根元素字号,改一个 html { font-size } 就能等比缩放整套间距与字号,是响应式排版的基础。设计稿按 px 标注时,除以根字号即得 rem:16px ÷ 16 = 1rem。

em 适合做组件内部相对关系

em 相对当前元素的父级字号,会层层叠加。按钮内边距写成 0.75em,按钮字号一变,内边距自动跟着变。但也因为会继承,嵌套过深时容易算不清,所以组件级用 em、页面级用 rem 是好习惯。

px 并非不能用

边框、1px 分隔线、阴影这类需要绝对精确的地方用 px 更稳。混合使用时注意浏览器最小字号限制(中文一般 12px 起),以及 Safari 在输入框字号小于 16px 时会自动放大页面。

根字号改成 62.5% 的取舍

把根字号设成 10px 后,1rem = 10px,心算方便。但这会让 rem 与「用户浏览器字号设置」脱钩,可访问性变差。更稳妥的做法是保留 16px,用 calc 或设计令牌换算。

常见问题

为什么 1rem 换算出来不是 16px?

说明项目或浏览器把根字号改过了。先确认 html 上的 font-size,再把实际值填进根字号输入框,换算才准确。

em 换算结果每次都不一样?

正常。em 依赖父元素字号,同样的 2em 在 14px 容器里是 28px,在 20px 容器里是 40px。换算前请填写真实的父级字号。

移动端适配还需要用 vw 吗?

vw 适合做整屏等比缩放,但会影响可访问性且在大屏上失控。目前更推荐 rem + clamp() 的方案,让字号在区间内平滑变化。

相关工具