REM(Font size of the root element)是指相對于根元素的字體大小的單位。
范例:
font-size
設置為 10px
,則使用 3rem
時,計算后得 3*10 = 30px
20px
,側計算后得 3*20 = 60px
流布局
、響應式布局
等適配方式,REM 適配
更為靈活,在不同屏幕尺寸上根據(jù)根節(jié)點來等比適配px -> rem
可以使用工作流自動完成<html>
根節(jié)點默認 font-size
= 20px
375px
(即 iPhone 6 尺寸)1px
除外px
作為單位px
-> rem
自動完成首先,編輯配置文件 .tmtworkflowrc
如下:
{ "supportREM": true }
再次,在項目 LESS 出口文件中引入 lib-rem.less
開啟后,CSS 分為 外聯(lián)樣式
和 內聯(lián)樣式
兩部分邏輯執(zhí)行:
Less -> CSS
過程,由插件 postcssPxtorem 對 LESS 中的 px
進行單位轉換HTML/EJS -> HTML
過程,會使用插件 posthtmlPx2rem 對 HTML 中的內聯(lián)樣式
進行單位轉換考慮到 1px 轉換為 rem
會有小數(shù)bug,工作流中會忽略 1px
的轉換,最小轉換數(shù)值為 2px
。
參見:postcss-pxtorem option:minPixelValue
參見:posthtmlPx2rem option:minPixelValue
為避免雪碧圖遇到小數(shù)計算 bug,設置雪碧圖內各個元素之間的間隙為 4px
,參見_tasks/TaskBuildDist.js
如果希望某條 CSS
樣式不進行單位轉換,可使用如下大小寫敏感的 px
寫法:
如:12PX
代理 12px
,這樣工作流中就會忽略這條 CSS
屬性,不進行單位轉換
更多建議: