微信小程序中rpx与rem单位使用

原做者: 小小小   来自:受权地址javascript


本文讲解rpx和rem应用于微信小程序,若是你尚未入门,建议先从下面看起:css

微信小程序官方文档
web app变革之rem
rpx单位官方文档
rpx单位基础介绍html

若是看完上面几篇文章,咱们开始进入正题吧~~java


1、rem的使用


1) js中导入下面这段代码web

(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) 根据设计稿宽度算出rem和px直接的转换公式小程序

例如:
640px的设计稿,转换公式就是按照上面js中这句而来【docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'】,最终 1rem = 20 x 640/320 + 'px' = 40px;微信小程序


3)根据设计稿按照1rem = 40px 对着各个元素进行单位转换微信

例如:
咱们测量一个元素宽度是400px,那么最终css中这样写 width:400/40 = 10rem
app

135107rpw8rqr4jwm8bott.png

正常状况下rem的使用


2、rpx的使用


1)小程序中rpx与px的转换xss

例如:设计稿750px宽度
那么恭喜您,你ps上量出宽度是多少,那么你就定义多少rpx,也就是 1px = 1rpx

例如:设计稿640px宽度
那么很遗憾,你须要转换一下 1px = 750/640 rpx


135107ozxz1prz1rpkk66k.png

小程序中rpx和px的转换


2)小程序中如何继续使用rem

例如:设计稿750px宽度
此时1rem = (750/20)rpx = 37.5px

例如:设计稿640px宽度
此时1rem = (750/20)rpx = 32px


135107nsushss8qn55jnqy.png

小程序中rem的使用


注意:不管设计稿多少,rem与rpx换算老是同样的,可是rem与px在小程序中换算是 rem = 设计稿宽/20,这一点与咱们平时使用的rem彻底不同。


小程序毕竟出来不久,以上言论有的属于官方文档,有的属于本身瞎捉摸,你们不能全信,要本身测了才知道~~

相关文章
相关标签/搜索