移动端 font size 最佳实践

单位

px

px 像素(Pixel)。相对长度单位。像素 px 是相对于显示器屏幕分辨率而言的。

em

em 是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。

rem

rem 是 CSS3 新增的一个相对单位(root em,根 em),这个单位引起了广泛关注。

这个单位与 em 有什么区别呢?区别在于使用 rem 为元素设定字体大小时,仍然是相对大小,但相对的只是 HTML 根元素。

这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

rem 的兼容方案

目前,除了 IE8 及更早版本外,所有浏览器均已支持 rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用 rem 设定的字体大小。下面就是一个例子:

p {
  font-size: 14px;
  font-size: 1.4rem;
}

选择

目标用户是 PC 的页面可以使用 px;目标用户是移动端的使用 rem;而 em 可以在局部使用,比如 small。upper 等元素。

如果不确定怎么使用,可以参考成熟的框架,比如 bootstrap 5。

最佳实践

任意浏览器的默认 font-size 都是 16px。

为了方便换算,我们一般将根元素 html 的字体大小设置为 62.5%,也就是 1rem = 16px*62.5% = 10px。那么 12px=1.2rem, 14px=1.4rem, 可以方便地计算出相对值。

html {
  font-size: 62.5%;
}
p {
  font-size: 14px;
  font-size: 1.4rem;
}

扩展阅读

为什么我们一般设置 html 的 font-size 为 62.5%,而不是 6.25%?

© 2022  Arvin Xiang
Built with ❤️ by myself