首先,先說一個常識,瀏覽器的默認字體高都是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