使用 rem 设计网页

rem 是根 em (root em)的缩写。rem 是和根元素关联的,不依赖当前元素。例如,不管你在文档什么地方使用这个单位,1.2rem 的计算值都是相等的,等于 1.2倍的根元素字号的大小。

1 如何声明根元素字号大小

对于设置根元素字号大小,这里提供两种方式,选择任意一种即可。

1.1 使用伪类

:root {
    font-size: 1em;
}

1.2 选择 html 元素

html 是顶层节点,html 就是我们需要设置的根元素。如下所示,使用标签选择器:

html {
    font-size: 1em;
}

或者是如果 html 元素有 id 或者 class 等属性,使用其他的选择器也是等同的。

总而言之,我们需要设置的是 html 元素的字体大小,选择的方式不限定。

2 使用原生 js 查看根元素字号

/* currentStyle 针对IE浏览器 */
function getStyle (obj, attr) {
    if (obj.currentStyle) {
        return obj.currentStyle[sttr];
    } else {
        return getComputedStyle(obj,false)[attr];
    }
}

var rem = getStyle(document.getElementsByTagName("html")[0], "font-size");
console.log("rem:", rem)

3 设计指南

3.1 停止使用像素去思考

我们很容易陷入这样一种思维方式,先把 rem 换算为 px 单位再去思考,其实大可不必,直接使用 rem 思考,不用转化为其他单位。让它成为一种习惯。

3.2 设置一个合理的字号默认值

直接设置 rem 为一个合理的字号默认值,可以省去很多重复的字体样式代码,而不是为了方便换算去设置 rem。

3.3 并非所有地方都使用 rem

rem 只是你工具箱中的一个,并非所有地方都使用 rem。当你不确定的时候,对 font-size 使用 rem,对 border 使用 px,以及对其他大多数属性使用 em。

3.4 使用媒体选择器

使用媒体选择器适配不同平台,可让你的网页看起来是响应式的。

3.5 浏览器默认字体大小参考

一般浏览器默认值是 16px。

    原文作者:银冰雪千载
    原文地址: https://segmentfault.com/a/1190000016579473
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞