tigtools

PX 转 REM 转换器

双向转换单个数值、查询常用尺寸,或粘贴 CSS,一次性将所有 px 长度替换为 rem。

在浏览器中运行 无需注册

px

除非用户或你的 CSS 修改了设置,否则浏览器默认字号为 16px。

相对单位
px
rem
常用尺寸
pxrem
1px0.0625rem
2px0.125rem
4px0.25rem
6px0.375rem
8px0.5rem
10px0.625rem
12px0.75rem
14px0.875rem
16px1rem
18px1.125rem
20px1.25rem
24px1.5rem
28px1.75rem
32px2rem
36px2.25rem
40px2.5rem
48px3rem
56px3.5rem
64px4rem
72px4.5rem
80px5rem
96px6rem
128px8rem

转换 CSS 代码片段

使用方法

  1. 如果你的网站修改了根字号,请在此设置(例如,html { font-size: 62.5% } 会将根字号设为 10px)。
  2. 在任一输入框中输入数值,即可在 px 和 rem 之间转换。若要相对于父元素设置尺寸,请切换为 em。
  3. 使用对照表快速查询常用尺寸,或粘贴 CSS 代码片段,一次性转换所有 px 长度并复制结果。

工作原理

rem = px ÷ 根字号。根字号默认是 16px 时,24px = 1.5rem,14px = 0.875rem。em 使用相同的计算公式,但基准是父元素的字号,因此嵌套的 em 值会逐层相乘;rem 则始终参照根元素,不会出现这种情况。

使用 rem 设置字号和间距后,当用户在浏览器设置中调大默认字号时,文本也会随之缩放,这有助于低视力用户。数值会四舍五入到小数点后四位。

代码片段转换器会转换 px 后面的数字,不会改动注释、url(…) 和带引号的字符串。启用相应选项后,可保留 1px(细边框通常应保持为 1px);0px 会转换为 0。默认情况下,@media 和 @container 条件中的值不会转换,因为在媒体查询中,rem 和 em 始终参照浏览器的初始字号,而不受你设置的根字号影响。转换器不会解析 calc() 的语义,只会替换其中的 px 数字;由于每个长度值都是单独转换的,因此结果仍然正确。

示例

默认根字号

根字号为 16px 时:12px = 0.75rem,20px = 1.25rem,32px = 2rem,0.5rem = 8px。

62.5% 技巧

如果你的 CSS 设置了 html { font-size: 62.5% },根字号就是 10px,因此 14px = 1.4rem,24px = 2.4rem。将根字号字段设为 10 即可匹配。

转换组件样式

启用“保留 1px 值”后,padding: 24px 16px; border: 1px solid #ddd; 会转换为 padding: 1.5rem 1rem; border: 1px solid #ddd;。

常见问题

应该使用 rem 还是 em?

大多数字号、间距和布局建议使用 rem,因为它在各种场景下都更可预测。如果希望某个元素随自身组件的字号缩放,例如按钮内边距,则使用 em。

为什么不把媒体查询转换为 rem?

可以,但在媒体查询中,1rem 始终等于浏览器的默认字号(通常为 16px),而不是 html 的字号。因此转换器默认会跳过媒体查询;如果你仍然按 16 来除,可以关闭此选项。

在无障碍方面,rem 比 px 更好吗?

对于字号来说,是的:rem 会遵循用户的默认字号设置,而 px 字号不会。浏览器缩放对这两种单位都有效。

隐私

转换和 CSS 代码片段均在浏览器中处理,不会发送到任何地方。