vue3.0 PC端项目使用自适应

1.引入插件
npm install px2rem-loader -S
npm install postcss-px2rem -S

2.在根目录新建文件vue.config.js

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

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

module.exports = {
publicPath: "./",
lintOnSave: true,
css: {
loaderOptions: {
postcss: {
plugins: [
postcss
]
}
}
}
};
3 创建rem.js

// 设置 rem 函数
function setRem() {
  //  PC端
  console.log('非移动设备')
  // 基准大小
  let baseSize = 100;
  let basePc = baseSize / 1920; // 表示1920的设计图,使用100PX的默认值
  let vW = window.innerWidth; // 当前窗口的宽度
  let vH = window.innerHeight; // 当前窗口的高度
  // 非正常屏幕下的尺寸换算
  let dueH = vW * 1080 / 1920
  if (vH < dueH) { // 当前屏幕高度小于应有的屏幕高度,就需要根据当前屏幕高度重新计算屏幕宽度
    vW = vH * 1920 / 1080
  }
  let rem = vW * basePc; // 以默认比例值乘以当前窗口宽度,得到该宽度下的相应font-size值
  document.documentElement.style.fontSize = rem + "px";
  console.log(rem)
  // //得到html的Dom元素
  // let htmlDom = document.getElementsByTagName('html')[0];
  // //设置根元素字体大小
  // htmlDom.style.fontSize = rem + 'px';
}
// 初始化
setRem();
// 改变窗口大小时重新设置 rem
window.onresize = function () {
  setRem()
};
4 、引入
import './rem'
5、安装lib-flexible依赖
npm install lib-flexible -S

6、找到目录 :node_modules/lib-flexible/flexible.js ,修改flexible.js; (不要直接搜索,搜不到的)

原文地址:https://www.cnblogs.com/huoshengmiao/p/14654270.html