1.安装 lib-flexible
npm install lib-flexible --save-dev
2. 安装 px2rem-loader
npm install px2rem-loader --save-dev
3.在main.js
中引入lib-flexible
import 'lib-flexible'
4. 配置 px2rem-loader(我的是vue-cli 3.x,需要自己配置,在项目根目录新建文件vue.config.js
)
module.exports = {css: {loaderOptions: {css: {},postcss: {plugins: [require('postcss-px2rem')({// 以设计稿1920为例, 1920 / 10 = 192remUnit: 192}),]}}},
};
5. 打开node_modules/lib-flexible/flexible.js
function refreshRem(){
var width = docEl.getBoundingClientRect().width;
if (width / dpr > 540) {
width = width * dpr; // 修改为width
}
var rem = width / 10;
docEl.style.fontSize = rem + 'px';
flexible.rem = win.rem = rem;
}
6.修改完成后,重启项目,则会适配到相应的尺寸
问题:当我有的样式是写在行内时,px并没有转为rem,之后查了资料,也没找到原因,最后将行内样式更改为内嵌样式