一、兼容
目前,IE9+、Firefox、Chrome、Safari、Opera 的主流版本都支持了rem。IE9以下版本的话不支持还需使用px来设置。
二、使用%单位方便实用
css中的body中先全局声明font-size=62.5%,这里的%的算法和rem一样。因为100%=16px,1px=6.25%,所以10px=62.5%,这是的1rem=10px,所以12px=1.2rem。px与rem的转换通过10就可以得来,非常方便。
三、w3c官网描述是“font size of the root element”,即rem是相对于根元素。
我们只需要在根元素确定一个参考值,在根元素中设置多大的字体,这完全可以根据您自己的需,大家也可以参考下图:
四、使用方法
注意,rem是只相对于根元素htm的font-size,即只需要设置根元素的font-size,其它元素使用rem单位设置成相应的百分比即可;
例子:
1/*16px * 312.5% = 50px;*/2html{font-size: 312.5%;}
1/*50px * 0.5 = 25px;*/2body{3font-size: 0.5rem;4font-size/0:25px;5}
五、优点
由于其他字体大小都是基于html的,所以在移动端做适配的时候,可以使用这样的方法
@media only screen and (min-width: 320px){2html {3font-size: 62.5% !important;4}5}6@media only screen and (min-width: 640px){7html {8font-size: 125% !important;9}10}11@media only screen and (min-width: 750px){12html {13font-size: 150% !important;14}15}16@media only screen and (min-width: 1242px){17html {18font-size: 187.5% !important;19}20}
这样子就能做到仅仅改变html的字体大小,让其他字体具有“响应式”。