1.流程
npm安装
cnpm i postcss-url postcss-import postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano cssnano-preset-advanced
添加postcss.config.js
module.exports = {
plugins: {
'postcss-aspect-ratio-mini': {},
'postcss-write-svg': {utf8: false},
'postcss-cssnext': {},
'postcss-px-to-viewport': {
viewportWidth: 750, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
viewportHeight: 1334, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数(很多时候无法整除)
viewportUnit: 'vw',
selectorBlackList: ['.ignore', '.hairlines', 'weui'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
mediaQuery: false, // 允许在媒体查询中转换`px`
},
// "postcss-viewport-units":{}, 想下兼容(safari) 非必要
cssnano: {
preset: 'advanced',
autoprefixer: false,
'postcss-zindex': false,
},
},
};
这俩步,就可以完成vw适配方案的配置。验证一下看看是否成功
image.png
所有的px单位都被编译成了vw,vw适配方案成功。
我不知道在做的各位用的@vue/cli是哪个版本的,我的版本是@vue/cli 4.3.1,之后我是用vue create命令创建的项目,在pack.json中就会出现not dead,导致报错:
Error: Loading PostCSS Plugin failed: Unknown browser query dead,解决方法是:删除 "not dead"掉就可以
关于browserslist的简介可以参考此大神的文章:https://www.jianshu.com/p/bd9cb7861b85
网友评论