vue移動端適配

1.安裝插件javascript

npm i lib-flexible --save        // 載lib-flexible
npm install px2rem-loader        // 安裝px2rem-loader

  2.在main.js中引入lib-flexiblecss

import 'lib-flexible/flexible'

  3.在index.html中引入:移動適配meta標籤html

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">

  4.更改配置vue

  在 build/util.js 中 按以下兩更改java

  (1)、將px2rem-loader添加到cssLoaders中npm

  const cssLoader = {
    loader: 'css-loader',
    options: {
      minimize: process.env.NODE_ENV === 'production',
      sourceMap: options.sourceMap
    }
  }
  const px2remLoader = {
    loader: 'px2rem-loader',
    options: {
      //通常設置75
      remUnit: 37.5 // 37.5按照375設計圖尺寸在設計,75安裝750設計圖尺寸設計
    }
  }

  (2)、在generateLoaders方法中添加px2remLoaderecmascript

function generateLoaders(loader, loaderOptions) {
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]

    if (loader) {
      loaders.push({
        loader: loader + '-loader',
        options: Object.assign({}, loaderOptions, {
          sourceMap: options.sourceMap
        })
      })
    }

    // Extract CSS when that option is specified
    // (which is the case during production build)
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }

  5.重啓post

npm run dev

 

以上實現轉換適用於:字體

(1)組件中編寫的<style></style>下的cssflex

(2)從index.js或者main.js中import ‘../../static/css/reset.css’引入css

(3)在組件的<script type=」text/ecmascript-6″> import ‘../../static/css/reset.css'</script>中引入css

另外的狀況不適用:

(1)組件<style></style>中@import 「../../static/css/reset.css (可考慮上面(2)、(3)的形式引入)

(2)外部樣式:<link rel=」stylesheet」 href=」static/css/reset.css」>

(3)元素內部樣式:style=」height: 417px; width: 550px;」

另外我要補充的是:在作移動端適配的時候咱們不建議給字體也設置rem的單位,針對這種狀況,我爲字體適配的解決方案是使用媒體查詢,文件以組件<style></style>中@import 「../../static/css/reset.css形式引入,可完美解決移動端適配問題

相關文章
相關標籤/搜索