zoukankan      html  css  js  c++  java
  • vue移动端适配

    都需要:

    // <meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no,viewport-fit=cover">
    
    // npm install lib-flexible
    
    // main.js   import 'lib-flexible'

    方案一:

    1、npm i postcss-aspect-ratio-mini postcss-import postcss-url postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano cssnano-preset-advanced autoprefixer --S
    2、 .postcssrc.js配置
    
    module.exports = {
      "plugins": {
        "postcss-import": {},
        "postcss-url": {},
        "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',  // 指定需要转换成的视窗单位,建议使用vw
          selectorBlackList: ['.ignore', '.hairlines'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
          minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
          mediaQuery: false // 允许在媒体查询中转换`px`
        },
        "postcss-viewport-units": {},
        "cssnano": {
          preset: "advanced",
          autoprefixer: false,
          "postcss-zindex": false
        }
      }
    }
    // 全局处理图片
    img {
      content: normal !important;
    }

    3、 viewport-units-buggyfill postcss-px-to-viewport和postcss-viewport-units两个PostCSS插件和Viewport Units Buggyfill让我完美的解决了vw兼容问题

    <script src="//g.alicdn.com/fdilab/lib3rd/viewport-units-buggyfill/0.6.2/??viewport-units-buggyfill.hacks.min.js,viewport-units-buggyfill.min.js"></script>
    
    <script> window.onload = function () { window.viewportUnitsBuggyfill.init({ hacks: window.viewportUnitsBuggyfillHacks }); } </script>

    方案二:

    npm i -D postcss-px2rem postcss-loader

    // .postcssrc.js
    module.exports = {
      "plugins": {
        // to edit target browsers: use "browserslist" field in package.json
        "autoprefixer": {},
        'postcss-px2rem': {remUnit: 75}
      }
    }

    方案三:

    webpack-px2rem-loader

    // webpack.config.js
    module.exports={
       ...
        module:{
            // 或者 loaders
            rules:[
                {
                    test:/(.jsx|.vue)$/,
                    loader:'webpack-px2rem-loader',
                    // 这个配置是可选的
                     query:{
                        // 1rem=npx 默认为 10
                        basePx:10,
                        // 只会转换大于min的px 默认为0
                        // 因为很小的px(比如border的1px)转换为rem后在很小的设备上结果会小于1px,有的设备就会不显示
                        min:1,
                        // 转换后的rem值保留的小数点后位数 默认为3
                        floatWidth:3
                    }
    
                }
            ]
        }
      }
  • 相关阅读:
    HDU 2852 KiKi's K-Number (主席树)
    HDU 2089 不要62
    Light oj 1140 How Many Zeroes?
    Bless You Autocorrect!
    HDU 6201 transaction transaction transaction
    HDU1561 The more ,The better (树形背包Dp)
    CodeForces 607B zuma
    POJ 1651 Mulitiplication Puzzle
    CSUOJ 1952 合并石子
    Uva 1599 Ideal path
  • 原文地址:https://www.cnblogs.com/Nyan-Workflow-FC/p/10751043.html
Copyright © 2011-2022 走看看