欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

教你一招解決vue頁面自適應布局

 更新時間:2022年07月13日 11:03:03   作者:小靈兒吶  
在前端開發(fā)的時候經(jīng)常會遇到這樣的困惑,設計師給你的設計稿的尺寸和頁面的尺寸不一致,導致了頁面無法正常顯示,下面這篇文章主要給大家介紹了關(guān)于一招解決vue頁面自適應布局的相關(guān)資料,需要的朋友可以參考下

兼容vue2、vue3項目,將vue文件中style里單位為px,編譯時自動轉(zhuǎn)換為vw、vh等單位

安裝依賴

npm install postcss-px-to-viewport --save-dev

vue.config.js 常規(guī)配置

module.exports = {

//module.exports暴露的最外層添加以下代碼

  css: {
    requireModuleExtension: true,
    sourceMap: true,
    // 全局樣式
    loaderOptions: {
      postcss: {
        plugins: [
            require('postcss-px-to-viewport')({
                unitToConvert: 'px', // 需要轉(zhuǎn)換的單位,默認為"px"
                viewportWidth: 1920, // 視窗的寬度,對應pc設計稿的寬度,一般是1920
                viewportHeight: 1080, // 視窗的高度,對應的是我們設計稿的高度,我做的是大屏監(jiān)控,高度就是1080
                unitPrecision: 6, // 單位轉(zhuǎn)換后保留的精度
                propList: [
                    // 能轉(zhuǎn)化為vw的屬性列表
                    '*',
                    // '!font-size',
                ],
                viewportUnit: 'vw', // 希望使用的視口單位
                fontViewportUnit: 'vw', // 字體使用的視口單位
                selectorBlackList: [], // 需要忽略的CSS選擇器,不會轉(zhuǎn)為視口單位,使用原有的px等單位。
                minPixelValue: 1, // 設置最小的轉(zhuǎn)換數(shù)值,如果為1的話,只有大于1的值會被轉(zhuǎn)換
                mediaQuery: false, // 媒體查詢里的單位是否需要轉(zhuǎn)換單位
                replace: true, // 是否直接更換屬性值,而不添加備用屬性
                exclude: [/(\/|\\)(node_modules)(\/|\\)/, /\components\/reportDetaillList\/toll_administration\/sf-report.vue/], // 忽略某些文件夾下的文件或特定文件,例如 'node_modules' 下的文件
            }),
        ],
    },
    }
  }
}

可配置項參數(shù)

  • unitToConvert (String) 需要轉(zhuǎn)換的單位,默認為"px"
  • viewportWidth (Number) 設計稿的視口寬度
  • unitPrecision (Number) 單位轉(zhuǎn)換后保留的精度
  • propList (Array) 能轉(zhuǎn)化為vw的屬性列表
    • 傳入特定的CSS屬性;
    • 可以傳入通配符""去匹配所有屬性,例如:[''];
    • 在屬性的前或后添加"*",可以匹配特定的屬性. (例如['position'] 會匹配 background-position-y)
    • 在特定屬性前加 "!",將不轉(zhuǎn)換該屬性的單位 . 例如: ['*', '!letter-spacing'],將不轉(zhuǎn)換letter-spacing
    • "!" 和 ""可以組合使用, 例如: ['', '!font*'],將不轉(zhuǎn)換font-size以及font-weight等屬性
  • viewportUnit (String) 希望使用的視口單位
  • fontViewportUnit (String) 字體使用的視口單位
  • selectorBlackList (Array) 需要忽略的CSS選擇器,不會轉(zhuǎn)為視口單位,使用原有的px等單位。
    • 如果傳入的值為字符串的話,只要選擇器中含有傳入值就會被匹配
      例如 selectorBlackList 為 ['body'] 的話, 那么 .body-class 就會被忽略
    • 如果傳入的值為正則表達式的話,那么就會依據(jù)CSS選擇器是否匹配該正則
      例如 selectorBlackList 為 [/^body$/] , 那么 body 會被忽略,而 .body 不會
  • minPixelValue (Number) 設置最小的轉(zhuǎn)換數(shù)值,如果為1的話,只有大于1的值會被轉(zhuǎn)換
  • mediaQuery (Boolean) 媒體查詢里的單位是否需要轉(zhuǎn)換單位
  • replace (Boolean) 是否直接更換屬性值,而不添加備用屬性
  • exclude (Array or Regexp) 忽略某些文件夾下的文件或特定文件,例如 'node_modules' 下的文件
    • 如果值是一個正則表達式,那么匹配這個正則的文件會被忽略
    • 如果傳入的值是一個數(shù)組,那么數(shù)組里的值必須為正則
  • include (Array or Regexp) 如果設置了include,那將只有匹配到的文件才會被轉(zhuǎn)換,例如只轉(zhuǎn)換 'src/mobile' 下的文件 (include: /\/src\/mobile\//)
    • 如果值是一個正則表達式,將包含匹配的文件,否則將排除該文件
    • 如果傳入的值是一個數(shù)組,那么數(shù)組里的值必須為正則
  • landscape (Boolean) 是否添加根據(jù) landscapeWidth 生成的媒體查詢條件 @media (orientation: landscape)
  • landscapeUnit (String) 橫屏時使用的單位
  • landscapeWidth (Number) 橫屏時使用的視口寬度

重啟項目

注意:只能改變<style lang="less" scoped></style>里單位,行內(nèi)樣式style無法自適應轉(zhuǎn)換

總結(jié)

到此這篇關(guān)于解決vue頁面自適應布局的文章就介紹到這了,更多相關(guān)vue頁面自適應布局內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue Nprogress進度條功能實現(xiàn)常見問題

    vue Nprogress進度條功能實現(xiàn)常見問題

    這篇文章主要介紹了vue Nprogress進度條功能實現(xiàn),NProgress是頁面跳轉(zhuǎn)是出現(xiàn)在瀏覽器頂部的進度條,本文通過實例代碼給大家講解,需要的朋友可以參考下
    2021-07-07
  • vue使用echarts實現(xiàn)動態(tài)數(shù)據(jù)的示例詳解

    vue使用echarts實現(xiàn)動態(tài)數(shù)據(jù)的示例詳解

    這篇文章主要為大家詳細介紹了vue如何使用echarts實現(xiàn)動態(tài)數(shù)據(jù),文中的示例講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • MAC+PyCharm+Flask+Vue.js搭建系統(tǒng)

    MAC+PyCharm+Flask+Vue.js搭建系統(tǒng)

    最近新做了個項目,使用的是MAC+PyCharm+Flask+Vue.js搭建系統(tǒng),本文就來分享一下搭建步驟,感興趣的可以了解一下
    2021-05-05
  • vue?動態(tài)添加el-input的實現(xiàn)邏輯

    vue?動態(tài)添加el-input的實現(xiàn)邏輯

    這篇文章主要介紹了vue?動態(tài)添加el-input的實現(xiàn)代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 如何在vue3中優(yōu)雅的使用jsx/tsx詳解

    如何在vue3中優(yōu)雅的使用jsx/tsx詳解

    看了一些 Vue3 的組件庫源碼,發(fā)現(xiàn)無一例外都使用的jsx/tsx來實現(xiàn),而且實現(xiàn)方式也各不相同,下面這篇文章主要給大家介紹了關(guān)于如何在vue3中優(yōu)雅的使用jsx/tsx的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Vue3實現(xiàn)檢測密碼強度值功能

    Vue3實現(xiàn)檢測密碼強度值功能

    本文將演示如何使用Vue?3實現(xiàn)一個簡單的密碼強度檢測功能,通過實時反饋,幫助用戶創(chuàng)建更安全的密碼,從而提升整體系統(tǒng)的安全性,需要的朋友可以參考下
    2024-06-06
  • vue定時器設置和關(guān)閉頁面時關(guān)閉定時器方式

    vue定時器設置和關(guān)閉頁面時關(guān)閉定時器方式

    這篇文章主要介紹了vue定時器設置和關(guān)閉頁面時關(guān)閉定時器方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue3前端生成隨機id(生成?UUID)實際運用

    Vue3前端生成隨機id(生成?UUID)實際運用

    前端在做增刪改查時通常會使??個唯?數(shù)值做為數(shù)據(jù)的key值,下面這篇文章主要給大家介紹了關(guān)于Vue3前端生成隨機id(生成?UUID)的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2024-04-04
  • ElementUI下拉框選擇后不顯示值問題及解決

    ElementUI下拉框選擇后不顯示值問題及解決

    這篇文章主要介紹了ElementUI下拉框選擇后不顯示值問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 用VueJS寫一個Chrome瀏覽器插件的實現(xiàn)方法

    用VueJS寫一個Chrome瀏覽器插件的實現(xiàn)方法

    這篇文章主要介紹了用VueJS寫一個Chrome瀏覽器插件的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論