各浏览器默认字体字号为 16px,即 16px 相当于 1rem。
那么“font-size: 1rem; ”就等同“font-size: 16px;”,但是设计图给的20px,要求使用em单位,就需要计算一下。
如果我们定义 10px / 16px = 0.625 = 62.5% ,浏览器的默认字体为 16px * 62.5% = 10px,此时即 10px 相当于 1rem。设计图给的20px,要求用em单位,那就简单多了。
html, body {
font-size: 62.5%; /* 10px / 16px = 62.5% 即 font-size 是 10px 相当于 1rem */
}
h1 {
font-size: 1rem; /*10px * 1 = 10px*/
}
h2 {
font-size: 1.2rem; /*10px * 1.2 = 12px*/
}
h2 {
font-size: 1.4rem; /*10px * 1.4 = 14px*/
}
为何不直接定义根元素的 “font-size : 10px”呢? 因为那是为了兼容 IE6。