🔢 px/rem 转换器
像素和rem单位轻松互转
像素 (px)
Rem
⚙️ 配置选项
📊 常用尺寸对照表
| px | rem (16px基准) | em (16px基准) |
|---|
什么是 PX 转 REM 转换器?
PX 转 REM 转换器是一款帮助前端开发者在像素值(px)和相对单位(rem/em)之间进行快速换算的在线工具。在响应式 Web 设计中,使用 rem(root em)单位而非固定像素值已成为行业最佳实践。rem 相对于根元素(html)的字体大小,默认情况下 1rem = 16px。当用户调整浏览器字体大小或使用系统缩放时,rem 值会自动适配,确保页面布局的弹性和可访问性。本工具支持实时双向转换、自定义基准字体大小、批量转换等功能,同时提供 CSS 变量方案代码和常用换算对照表,帮助开发者快速建立 rem 思维模式。
如何使用 PX 转 REM 转换器
- 步骤一:输入像素值 — 在像素输入框中输入需要转换的 px 数值,如 24。工具默认基准为 1rem = 16px,立即显示转换结果 1.5rem。
- 步骤二:调整基准值(可选) — 如果你的项目使用自定义的根字体大小(如在 CSS 中设置 html { font-size: 62.5% } 使 1rem = 10px),可以修改基准值以获得准确的换算结果。
- 步骤三:查看对照表或批量转换 — 工具提供常用像素值与 rem 的对照表,也支持批量输入多个值进行一次性转换。结果可直接复制到 CSS 文件中使用。
常见使用场景
场景一:将设计稿的 px 值转换为 rem
UI 设计师提供的设计稿以像素标注(如 Figma),但前端开发需要使用 rem 单位实现响应式布局。使用此工具快速将设计稿中的 14px 字号、24px 间距等值转换为 rem,确保页面在不同设备上按比例缩放。
场景二:建立项目的排版规范
在项目的 CSS 架构设计阶段,使用此工具建立字号阶梯(type scale)和间距系统(spacing system)。例如定义基础字号 1rem(正文)、1.25rem(小标题)、1.5rem(标题)等,确保整个项目的排版节奏一致。
场景三:无障碍适配和可访问性优化
使用 rem 单位可以尊重用户的浏览器字体大小设置。视力障碍用户可能将浏览器默认字号调大至 20px 或 24px,使用 rem 单位的页面会自动放大所有相关尺寸,而 px 单位则不会响应这种设置。
技术原理
rem(root em)是 CSS3 引入的相对单位,始终相对于根元素(<html>)的 font-size 计算。浏览器默认 html { font-size: 16px },因此 1rem = 16px。常见技巧是在 CSS 中设置 html { font-size: 62.5% },使 1rem = 10px,简化心算。em 单位则相对于父元素的字体大小,嵌套使用时会产生累积效果。CSS calc() 函数可以混合使用不同单位:
/* 62.5% 技巧:1rem = 10px */
html { font-size: 62.5%; /* 16px × 62.5% = 10px */ }
/* 常用转换示例 */
h1 { font-size: 2.4rem; } /* 24px */
p { font-size: 1.6rem; } /* 16px */
.container { padding: 2rem; } /* 20px */
.btn { margin: 0.8rem 1.6rem; } /* 8px 16px */
/* calc() 混合使用 */
.header { height: calc(4rem + 20px); }
最佳实践与注意事项
- 推荐在项目中设置
html { font-size: 62.5% }(1rem=10px),简化换算并保持一致性。 - 字号、间距、容器宽度建议使用 rem,边框宽度建议使用 1px 固定值。
- 使用 CSS 自定义属性(变量)定义常用 rem 值,方便全局调整。
- 测试时使用浏览器开发者工具调整根字体大小,验证响应式效果。
常见问题
Q:rem 和 em 有什么区别?
A>rem 始终相对于根元素(html)的字体大小,而 em 相对于父元素的字体大小。em 在嵌套元素中会产生累积效果(如父级 1.5em 的子元素再设 1.5em,实际是 2.25 倍),rem 则始终保持一致的比例关系,更可预测。
Q:为什么推荐 62.5% 而不是直接设置 10px?
A>直接设置 html { font-size: 10px } 会覆盖用户的浏览器字体大小设置,影响可访问性。使用百分比值(62.5%)则在用户调整浏览器默认字号时仍然有效——如果用户设为 20px,62.5% 就是 12.5px,保持了相对性。
Q:设计稿是 750px 宽度,怎么转换 rem?
A>移动端适配常用方案:设计稿 750px 宽,设置 html font-size 为屏幕宽度/750*基准值。使用 postcss-pxtorem 插件可以在构建时自动将 px 转为 rem,配合 lib-flexible 或 amfe-flexible 库实现动态适配。
Q:rem 和 vw/vh 应该如何选择?
A>rem 适合需要随用户字体设置变化的内容(正文、按钮等),vw/vh 适合需要随视口变化的布局(全屏区域、视差效果)。实际项目中经常组合使用:布局容器用 vw,内容字号用 rem,实现更精细的响应式控制。
Q:如何在 CSS 中快速进行心算换算?
A>设置 html { font-size: 62.5% } 后,1rem = 10px,换算变得简单:16px → 1.6rem,24px → 2.4rem。另一个技巧是使用 calc():如 font-size: calc(14px + 0.5vw) 可以创建随视口微调的字号。