DevToolPal
简

PX 转 REM 换算

按任意基准字号把 px 换算成 rem 或 em(也可反向),附换算对照表,并能一次性转换粘贴的 CSS 中所有 px 值。

本地处理,不上传

选项

方向
单位

CSS 或数值

0 字符 · 0 B

结果

结果会显示在这里

功能简介

这个工具在像素和相对单位 rem、em 之间换算 CSS 长度。输入单个值(如 24px)得到 1.5rem;每行一个值可以一次换算多个;粘贴整段样式表,其中所有 px 值都会被原地改写。对照表列出了当前基准字号下 1px 到 128px 的常用尺寸。所有内容都只在浏览器里处理。

使用方法

  1. 粘贴 CSS,或者每行输入一个数值。不带单位的数字按 px 处理(反向换算时按 rem/em 处理),写了另一种单位的值会自动反向换算。
  2. 设置「基准字号」。所有浏览器的默认值都是 16px;有些项目会写 html { font-size: 62.5% },让 1rem = 10px。
  3. 选择「方向」(px → rem 或 rem → px)、「单位」(rem 或 em)以及保留几位「小数位」。
  4. 需要时设置「小于此值保留 px」,让 1px 边框等细线保持 px。
  5. 点结果上方的按钮复制。

示例

/* before */
.title { font-size: 24px; margin-bottom: 12px; }

/* after (base 16px) */
.title { font-size: 1.5rem; margin-bottom: 0.75rem; }

不是 px 的值,比如百分比、颜色、url() 里的文件名和 .mt-16px 这样的类名,都不会被改动。0px 会写成 0。

px、rem 和 em

  • px 是绝对单位,不理会读者设置的首选字号。
  • rem(root em)是 html 元素字号的倍数。读者把浏览器字号设成 20px 时,1rem 就是 20px,整个布局随之缩放。
  • em 是当前元素字号的倍数。适合需要跟随所在文字大小的间距,但嵌套的 em 会相乘,所以默认用 rem 更稳妥。

媒体查询也会转换:@media (min-width: 768px) 变成 48rem(或 48em),读者放大文字时断点依然一致。注意在媒体查询里,rem 和 em 都以浏览器默认字号为准,而不是你在 html 上设置的字号。

常见问题

› px 怎么换算成 rem?

用像素值除以根元素字号。浏览器默认字号是 16px,所以 24px ÷ 16 = 1.5rem,12px ÷ 16 = 0.75rem。反过来就是乘法:2rem × 16 = 32px。

› rem 和 em 有什么区别?

rem 相对于根元素 html 的字号,所以 1rem 在页面任何地方都一样大。em 相对于当前元素的字号(设置 font-size 本身时相对父元素),元素嵌套时会层层相乘。大多数尺寸用 rem,需要跟着自身文字缩放的地方(比如按钮内边距)用 em。

› 为什么用 rem 而不是 px?

读者在浏览器设置里调大默认字号时,rem 的尺寸会跟着变大,px 则固定不变。用 rem 能保证布局的可访问性,也方便只改一个根字号就整体缩放设计。

› 1px 边框要不要转换?

通常不用。0.0625rem 的细线在某些缩放比例下会发虚甚至消失。把「小于此值保留 px」设为 2px,边框等极小的值就会保留为 px。