之前 使用 amfe-flexible 配置可伸缩布局方案 : 配置链接点击此处
作者在github上说:
由于viewport单位得到众多浏览器的兼容,lib-flexible这个过渡方案已经可以放弃使用,不管是现在的版本还是以前的版本,都存有一定的问题。建议大家开始使用viewport来替代此方。
然后就找到了 postcss-px-to-viewport 插件 用于单位的换算
1、插件的安装
npm install postcss-px-to-viewport --save-dev
&&
yarn add -D postcss-px-to-viewport
2、在 vue.config.js 中配置参数
module.exports = {
css: {
loaderOptions: {
postcss: {
plugins: [
require("postcss-px-to-viewport")({
unitToConvert: "px", //需要转换的单位,默认为"px"
viewportWidth: 750, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
unitPrecision: 3, //单位转换后保留的精度
propList: [ //能转化为vw的属性列表
"*"
],
viewportUnit: "vw", // 希望使用的视口单位
fontViewportUnit: "vw", //字体使用的视口单位
selectorBlackList: [], //需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
minPixelValue: 1, //设置最小的转换数值,如果为1的话,只有大于1的值会被转换
mediaQuery: false, //媒体查询里的单位是否需要转换单位
replace: true, //是否直接更换属性值,而不添加备用属性
exclude: /(\/|\\)(node_modules)(\/|\\)/, //忽略某些文件夹下的文件或特定文件,例如 ‘node_modules‘ 下的文件
})
]
}
}
}
}
关于 vue-cli 使用 postcss-px-to-viewport 使移动端自适应
原文:https://www.cnblogs.com/chz1905/p/14802244.html