前言
一般我们在做vue的移动端项目时,为了能够自适应不同分辨率,就需要根据UI设计稿的宽高进行px与rem、em的比例换算。但是这样做非常繁琐,为了解决这个问题,我们直接使用当前比较流行的插件 postcss-px-to-viewport 去配置相应的属性来进行自适应布局的构建。
关于px、em、rem的区别详解可点击此处了解
postcss-px-to-viewport(将px单位自动转换成viewport单位)
安装插件
npm install postcss-px-to-viewport --save
在项目根目录中找到或者创建 .postcssrc.js 文件,添加如下的配置:
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
"postcss-aspect-ratio-mini": {},//用来处理元素容器宽高比
"postcss-write-svg": {//用于处理1px问题
utf8: false
},
"postcss-cssnext": {},//让我们能使用CSS未来的特性
"postcss-px-to-viewport": {
viewportWidth: 375, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750 (因为第三方控件适配所以 除以二 设置为 375)
viewportHeight: 667, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置 (因为第三方控件适配所以 除以二 设置为 667)
unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数(很多时候无法整除)
viewportUnit: 'vw', // 指定需要转换成的视窗单位,建议使用vw
selectorBlackList: ['.ignore', '.hairlines'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
mediaQuery: false // 允许在媒体查询中转换`px`
},
"postcss-viewport-units":{//用来处理伪类
filterRule: rule => rule.selector.includes('::after') && rule.selector.includes('::before') && rule.selector.includes(':after') && rule.selector.includes(':before')
},
"cssnano": {//主要用来压缩和清理CSS代码
preset: "advanced",
autoprefixer: false,
"postcss-zindex": false
},
}
}
注意:我这边仅仅只是下载了postcss-px-to-viewport插件,大家只要看postcss-px-to-viewport部分就可以了。其它的仅仅只是帮大家扩展一下,如果需要用到的,就要下载相应插件。
下一节内容:前端跨域解决方案值proxy代理,感兴趣的小伙伴可以了解下!!!
版权声明:本文为QiuRenBB原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。