vue3 pxtorem
借助pxtorem实现屏幕自适应
px2rem在vue3中打包会有问题,直接更换至pxtorem就ok
1、导入依赖库
npm install postcss-pxtorem pxtorem-loader --save
2、src/util下添加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()
}
3、main.js中添加引用
import './util/rem'
4、vue.config.js中添加配置
// 引入等比适配插件
const px2rem = require('postcss-pxtorem')
// 配置基本大小
const postcss = px2rem({
// 基准大小 baseSize,需要和rem.js中相同
rootValue: 16,
propList: ["*"],
})
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
lintOnSave: true,
css: {
loaderOptions: {
postcss: {
postcssOptions: {
config: false,
plugins: [
postcss
],
}
}
},
extract: false
}
})