移動端Vue項目適配處理

在移動端項目中的字體在隨瀏覽端的窗口尺寸改變(響應式),在Vue項目中咱們能夠用過腳手架Vue-cli來安裝相應的依賴類庫來實現這個功能。css

首先來建立一個新的項目html

vue init webpack vue-mobile

 啓動以後就看到初始的Vue項目的起始頁面——Welcome to Your Vue.js Appvue

這個時候咱們能夠去看看項目的根目錄下的文件 .postcssrc.js,裏面有這麼一段代碼:webpack

module.exports = {
  "plugins": {
    "postcss-import": {},
    "postcss-url": {},
    // ...  
    "autoprefixer": {}    
  }
}

這些默認的插件咱們已經有了。下面就直接再安裝一些咱們須要用到的插件到咱們的項目中就行了。web

npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S

哦,還有一個。咱們這裏用到了cssnano的另外一項配置,因此還要安裝另外一個插件:npm

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

安裝完這些依賴以後,咱們回到根目錄的.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,
      viewportHeight: 1334,
      unitPrecision: 3,
      viewportUnit: 'vw',
      selectorBlackList: ['.ignore', '.hairlines'],
      minPixelValue: 1,
      mediaQuery: false
    },
    "postcss-viewport-units": {},
    "cssnano": {
      preset: "advanced",
      autoprefixer: false,
      "postcss-zindex": false
    }
  }
}

注意這裏原有的 autoprefixer屬性沒有了。由於下面的 cssnano 裏面已經對這個屬性經行了設置。bash

如今基本上就完成了,這裏咱們能夠在components的HelloWorld.vue中加入一段話來測試一下。svg

<p class="mine">這是測試響應式佈局的一句話!</p>
.mine{
  font-size: 24px;
}

而後 run 一下項目,看一下效果。在瀏覽器調試工具中切換手機模式開關。發現字體會根據當前模擬設備的窗口來改變字體顯示的大小。工具

可是咱們審查元素能夠發現其實咱們在 css 中定義的是 px 的單位,可是在這裏的樣式單位倒是 vw 。那麼恭喜就是這樣的,由於咱們在前面已經配置過 viewportUnit 這個屬性的值爲 vw 了。

在編寫 css 代碼的時候,直接寫設計圖上的實際像素就能夠了。項目會自動編譯 px 爲 vw 單位在頁面上渲染。對於一些不想編譯轉換的狀況,在元素中加上 .ignore.hairlines 類就能夠了。

到這裏,基本的項目響應已經實現了。其餘的一些詳細的、進階的問題能夠參考下這篇 《如何在Vue項目中使用vw實現移動端適配》

相關文章
相關標籤/搜索