首先,先说一个常识,浏览器的默认字体高都是16px。步入正题-----〉css
目前,IE9+,Firefox、Chrome、Safari、Opera 的主流版本都支持了rem。html
就算对不支持的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。算法
css中的body中先全局声明font-size=62.5%,这里的%的算法和rem同样。浏览器
由于100%=16px,1px=6.25%,因此10px=62.5%,字体
这是的1rem=10px,因此12px=1.2rem。px与rem的转换经过10就能够得来,很方便了吧!spa
注意,rem是只相对于根元素htm的font-size,即只须要设置根元素的font-size,其它元素使用rem单位设置成相应的百分比便可;code
例子:htm
1 /*16px * 312.5% = 50px;*/2 html{font-size: 312.5%;}blog
1 /*50px * 0.5 = 25px;*/2 body{3 font-size: 0.5rem;4 font-size\0:25px;5 }rem
通常状况下,是这样子使用的
1 html{font-size:62.5%;} 2 body{font-size:12px;font-size:1.2rem ;} 3 p{font-size:14px;font-size:1.4rem;}
用一个东西确定要知道它的好处啦,因为其余字体大小都是基于html的,因此在移动端作适配的时候,能够使用这样的方法
@media only screen and (min-width: 320px){
html {
font-size: 62.5% !important;
}
}
@media only screen and (min-width: 640px){
html {
font-size: 125% !important;
}
}
@media only screen and (min-width: 750px){
html {
font-size: 150% !important;
}
}
@media only screen and (min-width: 1242px){
html {
font-size: 187.5% !important;
}
}
这样子就能作到仅仅改变html的字体大小,让其余字体具备“响应式”了。
参考:https://www.cnblogs.com/beidan/p/5275379.html