px2rem 实现vue rem 自适应/

npm install postcss-px2rem px2rem-loader --save

新建js 文件rem.js

// rem等比适配配置文件
// 基准大小
const baseSize = 16
  // 设置 rem 函数
function setRem() {
  // 当前页面宽度相对于 1920宽的缩放比例,可根据自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
      // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
  // 改变窗口大小时重新设置 rem
window.onresize = function() {
  setRem()
}

项目main.js中引入此文件

import './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
              ]
          }
      }
  }
}
注意:行内样式会不生效,
   如果某一行css代码就想使用px为单位不想被转换有两种方案:大写PX 或 css代码后面加上注释/no/。



  

posted @ 2024-05-29 18:06  心动12138  阅读(145)  评论(0编辑  收藏  举报