在了解 rem/em 单位之前,我使用 px 对整个网站进行编码,因此响应速度不是很好。
有没有办法将 px 转换为 rem/em 单位,以便更改我的网站会更快更容易?
只需使用在线工具将所有 px 值转换为 rem 或 em ***
pxcoding.com/convert-px-to-rem/
pxcoding.com/convert-px-to-em/
确定根字体大小:查找根字体大小,通常在 html 元素的样式中定义。使用 getComputedStyle(document.documentElement).fontSize。
计算转换因子:将目标像素值除以根字体大小即可得到以 rem 或 em 为单位的等效值。
创建CSS规则:在CSS中应用计算出的rem或em值,替换原始的px值。
示例: 如果根字体大小为 16px,则将 20px 转换为 rem 将是 20 / 16 = 1.25rem。
应用转换:在样式表中使用计算出的值,例如,font-size:1.25rem;以保持相对于根字体大小的可伸缩性。
要将
px
值转换为 rem
,您必须在 font-size
元素上设置 <html>
。
html {
font-size: 16px
}
然后,您可以使用该公式并手动计算其 rem 等价物。
EM 转换为 PX 公式:
rem = px / base font
function convert() {
const baseFont = parseInt(document.querySelector("#baseFont").value);
const pxValue = parseInt(document.querySelector("#pxValue").value);
document.querySelector("#output").textContent = pxValue / baseFont;
}
document.querySelector("#convert").onclick = convert;
<label>base font<input id="baseFont" type="number" value="16"/></label>
<label>px value<input id="pxValue" type="number" value="24"/></label>
<button id="convert" type="button">convert</button>
<br>
output <span id="output">1.5</span>rem