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