目前在vue2 环境下进行
安装:
npm install amfe-flexible --save //为html、body添加font-size,窗口调整时候重新设置font-size npm install postcss-pxtorem@5.1.1 --save-dev //将px转rem
1,在main.js入口文件引入
import 'amfe-flexible'
2,创建postcss.config.js配置文件
module.exports = {
plugins: {
autoprefixer: {},
// flexible配置
"postcss-pxtorem": {
"rootValue": 75, //如果设计稿是750px
"propList": ["*"], // 需要做转化处理的属性,如`hight`、`width`、`margin`等,`*`表示全部
"exclude": /node_modules/i
}
}
}
//假设设计稿750宽;rootValue为75,说是对根元素大小进行设置.
rootValue: 75,
//unitPrecision为5,是转换成rem后保留的小数点位数.
unitPrecision: 5,
//propList是一个存储哪些将被转换的属性列表,这里设置为['*']全部,假设需要仅对边框进行设置,可以写['*', '!border*']意思是排除带有border的属性.
propList: ['*'],
//selectorBlackList则是一个对css选择器进行过滤的数组,比如你设置为['fs'],那例如fs-xl类名,里面有关px的样式将不被转换这里也支持正则写法。
selectorBlackList: [],
replace: true,
mediaQuery: false,
//minPixelValue的选项,我设置了12,意思是所有小于12px的样式都不被转换
minPixelValue: 12
3,小技巧
比如像border这种我不愿意替换成rem的我该怎么解决?
我还是想使用px来表达的话,那么我们可以把1px写成 1Px 或 1PX来解决
也可参考:https://sdeno.com/?p=7364
https://www.jianshu.com/p/7acdb535fcd5
https://blog.csdn.net/a460550542/article/details/125084903