Y_Shmily

导航

VUE移动端适配

VUE移动端适配

安装:npm install postcss-pxtorem@5.1.1 --save

// 注意:6.0.0版本配置有误,暂未去了解处理;

// 解决办法:安装5.1.1版本,实测该版本能用

一、在src目录下新建 libs/rem.js 文件
放入以下代码:

 1 (function (doc, win) {
 2   var docEl = doc.documentElement
 3   var isIOS = navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
 4   var dpr = isIOS ? Math.min(win.devicePixelRatio, 3) : 1
 5   dpr = window.top === window.self ? dpr : 1
 6   // 被iframe引用时,禁止缩放
 7   dpr = 1
 8   var scale = 1 / dpr
 9   var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
10   docEl.dataset.dpr = dpr
11   var metaEl = doc.createElement('meta')
12   metaEl.name = 'viewport'
13   metaEl.content = 'initial-scale=' + scale + ',maximum-scale=' + scale + ', minimum-scale=' + scale
14   docEl.firstElementChild.appendChild(metaEl)
15   var recalc = function () {
16     var width = docEl.clientWidth
17     if (width / dpr > 750) {
18       width = 750 * dpr
19     }
20     // 乘以100,px : rem = 100 : 1
21     docEl.style.fontSize = 100 * (width / 750) + 'px'
22   }
23   recalc()
24   if (!doc.addEventListener) return
25   win.addEventListener(resizeEvt, recalc, false)
26 })(document, window)

 

二、在main.js中引用

import './libs/rem.js'

 

三、修改.postcssrc.js 文件
在module.exports的plugins中加入:

module.exports = {
    plugins: {
        "postcss-pxtorem": {
            rootValue: 100,
            propList: ["*"],
        },
    },
};

 

完成,在项目中开发直接可以按照px单位来开发

设计图为750PX基准,打包以后的单位为100px=1rem;更方便于开发

完事以后记得重新运行哟!

posted on 2020-03-19 15:14  Y_Shmily  阅读(903)  评论(1编辑  收藏  举报