rem 与 px 的换算关系

本文介绍了响应式开发中的rem单位,阐述了其概念、特点,以及与px单位的换算规则,同时提到根节点html的默认字号对rem的影响和注意事项。

一、前言

响应式开发是现在前端潮流的开发方式,说到移动端的响应式开发,不得不说到一个单位 rem,那么 rem 单位是什么,有什么好处,与 px 单位有什么关系?

二、rem 概念

rem 是所有 DOM 节点对于根节点 html 的相对值。

三、rem 特点与换算

  1. 浏览器默认的字号是16px,因此如果没有设置根节点 html 的字号,这将会是一个默认基数。
  2. rem 与 px 的换算为 px = rem * 设置的根节点字号。
设置了根节点 html 字体大小
html{font-size:12px}
span{width:4rem;}
//span 的宽度换算为 px 为 4rem*12px = 48px
 
没有设置根节点 html 字体大小
span{width:4rem;}
//span 的宽度换算为 px 为 4rem*16px = 64px

四、注意

  1. html 字体大小最小为 12px;如果设置为10px,则换算后的 px 依然按照 12px 计算

设置根节点 html 字体大小小于12px
html{font-size:10px}
span{width:4rem;}
//span 的宽度换算为 px 为 4rem*12px = 48px

rem 是所有 DOM 节点相对于根节点 html 的相对值,px 是固定的像素单位。它们之间的转换关系基于根节点 html 的字号大小。浏览器默认的字号是 16px,若没有设置根节点 html 的字号,这个 16px 将会是默认基数。rem px换算公式为: - `px = rem * 设置的根节点字号` - `rem = px / 设置的根节点字号` 以下是不同情况下的具体示例: ### 已知 rem 转换为 px - **设置了根节点 html 字体大小** 假设根节点 html 设置为 `font-size: 12px`,有一个元素的宽度为 `4rem`,则该元素宽度换算px 为 `4rem * 12px = 48px` [^4]。 - **没有设置根节点 html 字体大小** 若没有设置根节点 html 字体大小,浏览器默认字号为 16px。若一个元素高度为 `3rem`,则该元素高度换算px 为 `3rem * 16px = 48px` [^4]。 ### 已知 px 转换为 rem 假设使用的浏览器默认的字号是 16px,将不同 px 值转换为 rem 的结果如下: | px | rem | | --- | --- | | 12 | 12 / 16 = 0.75 | | 14 | 14 / 16 = 0.875 | | 16 | 16 / 16 = 1 | | 18 | 18 / 16 = 1.125 | | 20 | 20 / 16 = 1.25 | | 24 | 24 / 16 = 1.5 | | 30 | 30 / 16 = 1.875 | | 36 | 36 / 16 = 2.25 | | 42 | 42 / 16 = 2.625 | | 48 | 48 / 16 = 3 | [^1] ### 代码实现转换 ```javascript // pxrem function pxToRem(px, rootFontSize = 16) { return px / rootFontSize; } // rempx function remToPx(rem, rootFontSize = 16) { return rem * rootFontSize; } // 示例使用 const pxValue = 24; const remValue = pxToRem(pxValue); console.log(`${pxValue}px 转换为 ${remValue}rem`); const newRemValue = 3; const newPxValue = remToPx(newRemValue); console.log(`${newRemValue}rem 转换为 ${newPxValue}px`); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值