mpvue之移动端适配解决方案postcss-px-to-viewport

文档

postcss-px-to-viewport文档

安装

npm install postcss-px-to-viewport --save-dev

引入

module.exports = {
  plugins: {
    autoprefixer: {},
    'postcss-px-to-viewport': {
       viewportWidth: 750,   // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
      viewportHeight: 1334, // 视窗的高度,根据750设备的宽度来指定,一般指定1334,也可以不配置
      unitPrecision: 3,     // 指定`px`转换为视窗单位值的小数位数
      viewportUnit: "vw",   //指定需要转换成的视窗单位,建议使用vw
      selectorBlackList: ['.ignore'],// 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
      minPixelValue: 1,     // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
      mediaQuery: false     // 允许在媒体查询中转换`px`
    }
  }
}

解析

{
  unitToConvert: 'px'	//要转换的单位,默认是'px'
  viewportWidth: 375,  //viewport的宽度,默认是320,可根据设计稿来,750的设计稿就写750
  unitPrecision: 5, //指定`px`转换为视窗单位值的小数位数,默认是5
  propList: ['*'], //指定可以转换的css属性,默认是['*'],代表全部属性进行转换
  viewportUnit: 'vw', //指定需要转换成的视窗单位,默认vw
  fontViewportUnit: 'vw', //指定字体需要转换成的视窗单位,默认vw
  selectorBlackList: [], //指定不转换为视窗单位的类,保留px,值为string或正则regexp,建议定义一至两个通用的类名 ------值为string类型, 检查字符是否包含-['body'] 匹配 .body-class -------值为regexp类型,正则匹配-[/^body$/] 匹配 body 而不是 .body
  minPixelValue: 1, //默认值1,小于或等于`1px`不转换为视窗单位,
  mediaQuery: false, //是否在媒体查询时也转换px,默认false
  replace: true, //是否直接更换属性值,而不添加备用属性
  exclude: [], 设置忽略文件,如node_modules
  landscape: false,
  landscapeUnit: 'vw',
  landscapeWidth: 568
}

注意

@keyframes 和media查询里的px默认是不转化的,设置mediaQuery: true则媒体查询里也会转换px

@keyframes可以暂时手动填写vw单位的转化结果

你可能感兴趣的:(小程序升华之路,小程序)