如何在Vue项目中使用vw实现移动端适配(部分转载)

这里只放置如何配置vue-cli做到vw的适配,很适合大屏开发。
在vue-cli默认的三个插件:
1.postcss-import
2.postcss-url
3.autoprefixer

现需要装如下的插件

  1. postcss-aspect-ratio-mini
  2. postcss-px-to-viewport
  3. postcss-write-svg
  4. postcss-cssnext
  5. cssnano
  6. postcss-viewport-units
npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano -S   

接下来在.postcssrc.js文件对新安装的PostCSS插件进行配置:

module.exports = {
  "plugins": {
    "postcss-import": {},
    "postcss-url": {},
    // to edit target browsers: use "browserslist" field in package.json
    "autoprefixer": {},
    "postcss-cssnext": {},
    "postcss-px-to-viewport": {
      viewportWidth: 3840,   // 视窗的宽度,
      viewportHeight: 2160, // 视窗的高度,
      unitPrecision: 3,     // 指定`px`转换为视窗单位值的小数位数
      viewportUnit: "vw",   //指定需要转换成的视窗单位,建议使用vw
      selectorBlackList: ['.ignore', '.hairlines'],// 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
      minPixelValue: 1,     // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
      mediaQuery: false,     // 允许在媒体查询中转换`px`
      exclude: /node_modules/ //  exclude: /node_modules/
    },
    "postcss-viewport-units": {},
    "cssnano": {
      preset: "advanced",
      autoprefixer: false,
      "postcss-zindex": false
    }
  }
}

如何在Vue项目中使用vw实现移动端适配(部分转载)_第1张图片

cssnano

cssnano主要用来压缩和清理CSS代码。在Webpack中,cssnano和css-loader捆绑在一起,所以不需要自己加载它。不过你也可以使用postcss-loader显式的使用cssnano。有关于cssnano的详细文档,可以点击这里获取。

在cssnano的配置中,使用了preset: “advanced”,所以我们需要另外安装:

npm i cssnano-preset-advanced --save-dev

cssnano集成了一些其他的PostCSS插件,如果你想禁用cssnano中的某个插件的时候,可以像下面这样操作:

"cssnano": {
    autoprefixer: false,
    "postcss-zindex": false
}

上面的代码把autoprefixer和postcss-zindex禁掉了。前者是有重复调用,后者是一个讨厌的东东。只要启用了这个插件,z-index的值就会重置为1。这是一个天坑,千万记得将postcss-zindex设置为false。
更多解释:https://blog.csdn.net/tja8N2m2G46OMtF/article/details/79227343

你可能感兴趣的:(如何在Vue项目中使用vw实现移动端适配(部分转载))