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中加入:
"postcss-pxtorem": { "rootValue": 100, "propList": ["*"] }
完成,在項目中開發直接可以按照px單位來開發
設計圖為750PX基准,打包以后的單位為100px=1rem;更方便於開發
完事以后記得重新運行喲!