rem是相对于根元素字体大小的单位,通过设置html根字体大小并结合媒体查询或JavaScript动态调整,使字体在不同设备上按比例缩放,实现跨设备统一显示。
在不同设备上字体大小显示不一致,主要是因为不同屏幕的默认字体
尺寸和分辨率存在差异。使用 rem 单位可以有效解决这个问题,实现跨设备的字体统一比例显示。
rem 是相对于根元素(html)的字体大小的单位。比如 html 的 font-size 是 16px,那么 1rem 就等于 16px。通过动态调整根元素的字体大小,所有使用 rem 的文本都能按比例缩放。
例如:
html {
font-size: 16px;
}
@media (max-width: 768px) {
html {
font-size: 14px;
}
}
或者使用 JavaScript 动态设置(常用于移动端):
function setRootFontSize() {
const width = document.documentElement.clientWidth;
const fontSize = width / 10; // 假设设计稿是基于10等分
document.documentElement.style.fontSize = fontSize + 'px';
}
window.addEventListener('resize', setRootFontSize);
setRootFontSize();
基本上就这些。用 rem 控制字体大小,能显著改善多设备显示不一致的问题,让页面更具适应性。关键在于统一基准,灵活调整根字体。