px和rem的换算关系
rem 是相对于根元素<html>,需要在根元素确定一个参考值,这个参考值设置为多少,可根据自己的需求定义。
浏览器默认字号16px
| px | rem | ------------------------ | 12 | 12/16 = .75 | | 14 | 14/16 = .875 | | 16 | 16/16 = 1 | | 18 | 18/16 = 1.125 | | 20 | 20/16 = 1.25 | | 24 | 24/16 = 1.5 | | 30 | 30/16 = 1.875 | | 36 | 36/16 = 2.25 | | 42 | 42/16 = 2.625 | | 48 | 48/16 = 3 | -------------------------
为了方便计算,时常在<html>元素中设置font-size值为62.5%,相当于在<html>中设置font-size为10px,此时,上面示例中所示的值将会改变
| px | rem | ------------------------- | 12 | 12/10 = 1.2 | | 14 | 14/10 = 1.4 | | 16 | 16/10 = 1.6 | | 18 | 18/10 = 1.8 | | 20 | 20/10 = 2.0 | | 24 | 24/10 = 2.4 | | 30 | 30/10 = 3.0 | | 36 | 36/10 = 3.6 | | 42 | 42/10 = 4.2 | | 48 | 48/10 = 4.8 | -------------------------
1rem 究竟等于多少px?
1rem 等于html 根元素设定的font-size 的px 值,假设css设定 html{font-size:14px}
那么后面的css里面的rem值则是以这个14来换算,例如设定一个div 宽度3rem,高度为2.5rem。则他们换算称为px 为width:42px,height:35px,同理,假如一个设计稿为宽度42px,高度35px,则换成rem,就是42/14 = 3rem,35/14=2.5rem。如果没有就会默认浏览器字体以1rem = 16px换算