REM = (font?size?of?the?root?element)根元素的font-size
頁面中font-size的默認大小為16px(在不設置字體大小的情況下,Chrome瀏覽器最小字號為12px,其他瀏覽器沒有限制)。
默認情況下,當 font-size = 1rem 時,字體大下就是16px,當 font - size = 2rem 時,字體大下就是32px。改變html的 font-size像素時,rem的大小也隨之改變。
1、em和rem的區別
em為自己本身font-size的像素值(本身不設置font-size時,繼承html),而rem是html的font-size。
2、動態REM
在手機端不可能做響應式頁面。一般第一種為百分比布局。(缺點:寬度不確定,高度和寬度的比例就不能控制)
百分比布局
第二種為整體縮放布局。(一切單位以寬度為基準,就能保證完美還原設計稿)
(vw是最好的,但是兼容性太差,一般不用。rem由html的font-size決定,然后用js把html的font-size等于page-width)
box的寬為屏幕寬的一半,高也是以屏幕寬標準來執行
動態rem示例
3、動態REM微調
頁面寬度除以10,寫css時就能感覺好點。
調整后
(注意:頁面寬度除以100,則font-size小于12px,Chrome顯示錯亂,不利于編程中設計頁面;當顯示特別小的東西時,例如border、字體等,直接用像素。因為手機不支持1.5px、3.8px之類的,所以直接用像素值會比較精確,用 rem會出現0.03之類的值,不利于精確控制)
4、像素px自動變為rem
安裝sass,啟動sass后寫入相應函數,自動轉換。
(em是以M的大小為標準,面試官認為以漢字大小為標準)