最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue做移動端適配最佳解決方案(親測有效)

 更新時間:2018年09月04日 10:21:56   作者:今天也在寫bug  
這篇文章主要介紹了vue做移動端適配最佳解決方案(親測有效),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

vw 解決方案

1. 安裝并配置PostCss插件

復制代碼 代碼如下:
npm i postcss-aspect-ratio-mini postcss-px-to-viewport postcss-write-svg postcss-cssnext postcss-viewport-units cssnano --S

2. 對 PostCss 進行配置

找到在根目錄中的.postcssrc.js,對PostCSS插件進行配置

module.exports = {
 "plugins": {
  "postcss-import": {},
  "postcss-url": {},
  // to edit target browsers: use "browserslist" field in package.json
  "postcss-write-svg": {
   uft8: false
  },
  "postcss-cssnext": {},
  "postcss-px-to-viewport": {
   viewportWidth: 750, // 視窗的寬度,對應的是我們設計稿的寬度,一般是750
   viewportHeight: 1334, // 視窗的高度,根據(jù)750設備的寬度來指定,一般指定1334,也可以不配置
   unitPrecision: 3, // 指定`px`轉換為視窗單位值的小數(shù)位數(shù)(很多時候無法整除)
   viewportUnit: 'vw', // 指定需要轉換成的視窗單位,建議使用vw
   selectorBlackList: ['.ignore', '.hairlines'], // 指定不轉換為視窗單位的類,可以自定義,可以無限添加,建議定義一至兩個通用的類名
   minPixelValue: 1, // 小于或等于`1px`不轉換為視窗單位,你也可以設置為你想要的值
   mediaQuery: false // 允許在媒體查詢中轉換`px`
  },
  "postcss-viewport-units": {},
  "cssnano": {
   preset: "advanced",
   autoprefixer: false, // 和cssnext同樣具有autoprefixer,保留一個
   "postcss-zindex": false
  }
 }
}

3. 引入viewport-units-buggyfill解決兼容問題

在 index.html 中引入js

<script src="http://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>

最近在做商城的項目,發(fā)現(xiàn)有贊的ui非常適合,但有一個問題是有贊的ui用的單位是px,做不了移動端的適配,官網的提供的vw適配方案發(fā)現(xiàn)不可行,最后還是決定rem來做適配,上網搜了一下,發(fā)現(xiàn)了一套可用方案,親測有效哦

它的原理是借助px2rem 插件方便的將px單位轉為了rem

具體步驟:

安裝

npm install px2rem-loader lib-flexible --save 

在main.js中引入lib-flexible

import 'lib-flexible/flexible.js'

在build下的 utils.js中,找到generateLoaders 方法,添加以下代碼

const px2remLoader = {
  loader: 'px2rem-loader',
  options: {
  remUnit: 37.5
  }
}
 
function generateLoaders (loader, loaderOptions) {
  const loaders = [cssLoader, px2remLoader]
  if (loader) {
    loaders.push({
    loader: loader + '-loader',
    options: Object.assign({}, loaderOptions, {
    sourceMap: options.sourceMap
    })
  })
}

重啟項目,會發(fā)現(xiàn)自己設置的px被轉為rem 了

但是有一定的局限性

以上實現(xiàn)轉換適用于:

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

(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形式引入,可完美解決移動端適配問題

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 關于Vite項目打包后瀏覽器兼容性問題的解決方案

    關于Vite項目打包后瀏覽器兼容性問題的解決方案

    本文主要介紹了關于Vite項目打包后瀏覽器兼容性問題的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue項目引入svg圖標的完整步驟

    vue項目引入svg圖標的完整步驟

    在實際的項目開發(fā)中,使用svg圖標占用內存比圖片更小,映入圖片內存比較大,同時也適用于不同屏幕的尺寸,下面這篇文章主要給大家介紹了關于vue項目引入svg圖標的完整步驟,需要的朋友可以參考下
    2022-10-10
  • Vue?Router的安裝使用方法總結

    Vue?Router的安裝使用方法總結

    在本文中,我們詳細講解了Vue路由的使用方法,我們首先安裝了Vue?Router,然后創(chuàng)建了一個Vue?Router實例,并配置了路由,感興趣的朋友一起看看吧
    2023-11-11
  • Vue之組件詳解

    Vue之組件詳解

    這篇文章主要為大家介紹了Vue之組件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • vue實現(xiàn)修改標簽中的內容:id class style

    vue實現(xiàn)修改標簽中的內容:id class style

    這篇文章主要介紹了vue實現(xiàn)修改標簽中的內容:id class style,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue 百度地圖(vue-baidu-map)繪制方向箭頭折線實例代碼詳解

    vue 百度地圖(vue-baidu-map)繪制方向箭頭折線實例代碼詳解

    這篇文章主要介紹了vue 百度地圖(vue-baidu-map)繪制方向箭頭折線,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Vue具名插槽+作用域插槽的混合使用方法

    Vue具名插槽+作用域插槽的混合使用方法

    這篇文章主要介紹了Vue具名插槽+作用域插槽的混合使用,這里只簡單的介紹?具名插槽+作用域插槽?混合在一起使用的方法,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • vue2.0 資源文件assets和static的區(qū)別詳解

    vue2.0 資源文件assets和static的區(qū)別詳解

    這篇文章主要介紹了vue2.0 資源文件assets和static的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • vue-cli3配置favicon.ico和title的流程

    vue-cli3配置favicon.ico和title的流程

    這篇文章主要介紹了vue-cli3配置favicon.ico和title的流程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 詳解Vue demo實現(xiàn)商品列表的展示

    詳解Vue demo實現(xiàn)商品列表的展示

    這篇文章主要介紹了Vue demo實現(xiàn)商品列表的展示,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05

最新評論

福鼎市| 武宁县| 连城县| 宽甸| 鲜城| 剑河县| 海安县| 庆阳市| 额尔古纳市| 玉山县| 瓦房店市| 乌海市| 托里县| 马边| 台湾省| 大余县| 化德县| 莱州市| 万全县| 惠州市| 曲水县| 三门县| 阜平县| 隆德县| 安仁县| 拉萨市| 铜陵市| 浦城县| 达州市| 措美县| 安西县| 德阳市| 湘乡市| 瑞安市| 万源市| 阳原县| 桂阳县| 高青县| 临颍县| 石屏县| 班玛县|