之前 使用 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‘ 下的文件 }) ] } } } }