1、安装 flexible和 postcss-px2rem  
npm i lib-flexible postcss-px2rem  --save  
 2.在项目入口文件main.js 中引入lib-flexible  
import 'lib-flexible'  
 
3. 把目录 public/index.html 中的这个标签注释!由于flexible会动态给页面header中添加标签  
 
4.配置postcss-px2rem  
 flexible效果和作用  
flexible会为页面根据屏幕自动添加标签,动态控制initial-scale,maximum-scale,minimum-scale等属性的值 ,设备缩放比  
postcss-px2rem效果和作用  
postcss-px2rem会将px转换为rem,rem单位用于适配不同宽度的屏幕,根据标签的font-size值来计算出结果,1rem=html标签的font-size值。全是px为单位,但是仍然可以自适应,这样很方便开发  
下面是vue.config.js,可参考  
重点是这句  
   postcss: {        plugins: [          require('postcss-px2rem')({ remUnit: 75 }), // 换算的基数        ]      }    }  
module.exports = {
  // 基本路径
  publicPath: '/',
  // 输出文件目录
  outputDir: 'dist',
  // eslint-loader 是否在保存的时候检查
  lintOnSave: true,
  runtimeCompiler: false,
  chainWebpack: () => { },
  configureWebpack: () => { },
  productionSourceMap: true,
  // css相关配置
  css: {
    // 是否使用css分离插件 ExtractTextPlugin
    extract: true,
    // 开启 CSS source maps?
    sourceMap: false,
    // css预设器配置项
    loaderOptions: {},
    // 启用 CSS modules for all css / pre-processor files.
  },
  parallel: require('os').cpus().length > 1,
  devServer: {
    // open: process.platform === 'darwin',
    // host: '0.0.0.0',
    // port: 8080,
    // https: false,
    // hotOnly: false,
    // proxy: null, // 设置代理
    // before: app => { }
  },
  // 第三方插件配置
  pluginOptions: {
    postcss: {
      plugins: [
        require('postcss-px2rem')({ remUnit: 75 }), // 换算的基数
      ]
    }
  }
}
  
 
 如果你有某些px不想被转换成rem ,那么可以这样做 : 加上/no/ 如下所示  
width : 30px; /*no*/