微信小程序中rpx與rem單位使用

原作者: 小小小 ****來自:授權(quán)地址

本文講解rpx和rem應(yīng)用于微信小程序,如果你還沒有入門,建議先從下面看起:

微信小程序官方文檔
web app變革之rem
rpx單位官方文檔
rpx單位基礎(chǔ)介紹

如果看完上面幾篇文章,我們開始進(jìn)入正題吧~~

一、rem的使用

1) js中導(dǎo)入下面這段代碼

(function (doc, win) {
      var docEl = doc.documentElement,
        resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
        recalc = function () {
          var clientWidth = docEl.clientWidth;
          if (!clientWidth) return;
          docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
        };

      if (!doc.addEventListener) return;
      win.addEventListener(resizeEvt, recalc, false);
      doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

2) 根據(jù)設(shè)計(jì)稿寬度算出rem和px直接的轉(zhuǎn)換公式
例如:640px的設(shè)計(jì)稿,轉(zhuǎn)換公式就是按照上面js中這句而來【docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'】,最終 1rem = 20 x 640/320 + 'px' = 40px;

3)根據(jù)設(shè)計(jì)稿按照1rem = 40px 對著各個(gè)元素進(jìn)行單位轉(zhuǎn)換
例如:我們測量一個(gè)元素寬度是400px,那么最終css中這樣寫 width:400/40 = 10rem

正常情況下rem的使用

二、rpx的使用

1)小程序中rpx與px的轉(zhuǎn)換
例如:設(shè)計(jì)稿750px寬度那么恭喜您,你ps上量出寬度是多少,那么你就定義多少rpx,也就是 1px = 1rpx
例如:設(shè)計(jì)稿640px寬度那么很遺憾,你需要轉(zhuǎn)換一下 1px = 750/640 rpx

小程序中rpx和px的轉(zhuǎn)換

2)小程序中如何繼續(xù)使用rem
例如:設(shè)計(jì)稿750px寬度此時(shí)1rem = (750/20)rpx = 37.5px
例如:設(shè)計(jì)稿640px寬度此時(shí)1rem = (750/20)rpx = 32px

小程序中rem的使用

注意:無論設(shè)計(jì)稿多少,rem與rpx換算總是一樣的,但是rem與px在小程序中換算是 rem = 設(shè)計(jì)稿寬/20,這一點(diǎn)與我們平時(shí)使用的rem完全不一樣。

小程序畢竟出來不久,以上言論有的屬于官方文檔,有的屬于自己瞎捉摸,大家不能全信,要自己測了才知道~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容