vue+px2rem實現(xiàn)pc端大屏自適應(yīng)(rem適配)

配置前言

  • 項目構(gòu)建:基于vue-cli3構(gòu)建,使用postcss-px2rem px2rem-loader進行rem適配

  • 實現(xiàn)原理:每次打包,webpack通過使用插件postcss-px2rem,幫我們自動將px單位轉(zhuǎn)換成rem單位

  • 前方有坑:UI框架部分組件使用JavaScript將css作為內(nèi)聯(lián)樣式直接寫在html標簽內(nèi),打包適配時不會讀取相關(guān)css,所以要配置相關(guān)樣式,在style中需要" !important "進行樣式覆蓋。

第一步,安裝postcss-px2rem及px2rem-loader

打開命令行工具,輸入以下指令安裝插件(當然用淘寶鏡像cnpm安裝會更快)

npm install postcss-px2rem px2rem-loader --save

第二步,在根目錄src中新建util目錄下新建rem.js等比適配文件

// rem等比適配配置文件
// 基準大小
const baseSize = 16
// 設(shè)置 rem 函數(shù)
function setRem () {
  // 當前頁面寬度相對于 1920寬的縮放比例,可根據(jù)自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
  // 設(shè)置頁面根節(jié)點字體大?。ā癕ath.min(scale, 2)” 指最高放大比例為2,可根據(jù)實際業(yè)務(wù)需求調(diào)整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
// 改變窗口大小時重新設(shè)置 rem
window.onresize = function () {
  setRem()
}

第三步,在main.js中引入適配文件

import './util/rem'

第四步,到vue.config.js中配置插件

// 引入等比適配插件
const px2rem = require('postcss-px2rem')

// 配置基本大小
const postcss = px2rem({
  // 基準大小 baseSize,需要和rem.js中相同
  remUnit: 16
})

// 使用等比適配插件
module.exports = {
  lintOnSave: true,
  css: {
    loaderOptions: {
      postcss: {
        plugins: [
          postcss
        ]
      }
    }
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容