vue cli3中使用rem
这篇是总结的vue在pc端的适配,之前讲过在移动端的适配。自己成功后的经验总结,可用。
- 安装amfe-flexible,并在main.js中引入
// 引入lib_flexible 使用rem
import 'amfe-flexible'
2.安装 postcss-px2rem (npm i postcss-px2rem )
3.在 vue.config.js 中添加配置,vue.config.js是自己在项目根目录下创建的。
const px2rem = require('postcss-px2rem');
const postcss = px2rem({
remUnit: 75 // 基准大小 baseSize,需要和rem.js中相同
})
module.exports = {
css: {
loaderOptions: {
postcss: {
plugins: [
postcss
]
}
}
},
}
4.在public文件夹中添加rem.js文件(用来根据设计图和屏幕的比例计算html根字体大小)
// 基准大小(可随意指定,影响rem的数值)
const baseSize = 75
// 设置 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()
}
5.在index.html中引入rem.js
<script>
;(function(){
var rem = document.createElement('script');
rem.src = './rem.js';
document.body.appendChild(rem)
})()
</script>
——陶