Vant+postcss-pxtorem 實現瀏覽器適配功能

Rem 佈局適配
Vant 中的樣式默認使用 px 作為單位,如果需要使用 rem 單位,推薦使用以下兩個工具:
postcss-pxtorem 是一款 postcss 插件,用於將單位轉化為 rem
lib-flexible 用於設置 rem 基準值
看到最後有驚喜!

一、npm安裝

npm install postcss-pxtorem --save

二、新建.postcssrc.js做如下修改

註:
1、以下註釋代碼開啟後運行腳本會出現報錯的提示,雖不知道有什麼用,註釋就好啦。

module.exports = {
 "plugins": {
 	//"postcss-import": {},
  //"postcss-url": {},
  "autoprefixer": {
   browsers: ['Android >= 4.0', 'iOS >= 7']
  },
  "postcss-pxtorem": {
   "rootValue": 32,
   "propList": ["*"]
  }
 }
}

三、新建rem.js

const baseSize = 32
// 設置 rem 函數
function setRem () {
 // 當前頁面寬度相對於 750 寬的縮放比例,可根據自己需要修改。
 const scale = document.documentElement.clientWidth / 750
 // 設置頁面根節點字體大小
 document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改變窗口大小時重新設置 rem
window.onresize = function () {
 setRem()
}

四、在main.js中引入rem.js

import "./rem.js"

至此,Vant+postcss-pxtorem 實現瀏覽器適配就完成瞭。
即可直接在樣式中暢快的使用px且自動轉換成rem。
等等先別走!!!客官。
以為到這裡就結束瞭嗎?NO,往下看還有一份不基於postcss-pxtorem 來實現的rem適配哦。
話不多說直接上代碼。

五、新建rem.js並再main.js中引入

(function (doc, win) {
 var docEl = doc.documentElement
 var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize'
 var recalc = function () {
  var clientWidth = docEl.clientWidth
  if (!clientWidth) return
  if (parseInt(20 * (clientWidth / 320)) > 35) {
   docEl.style.fontSize = 35 + 'px'
  } else {
   docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'
  }
 }
 if (!doc.addEventListener) return
 win.addEventListener(resizeEvt, recalc, false)
 doc.addEventListener('DOMContentLoaded', recalc, false)
})(document, window)

import "./rem.js"

六、添加樣式全局變量並使用

// 當前頁面寬度相對於 750 寬的縮放比例,可根據自己需要修改。
$rem: (640/750)/40;
body{
	width: $rem * 24rem;
}

到此這篇關於Vant+postcss-pxtorem 實現瀏覽器適配的文章就介紹到這瞭,更多相關Vant+postcss-pxtorem 適配內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: