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

Vue2實現(xiàn)自適應(yīng)屏幕大小的兩種方法詳解

 更新時間:2024年03月26日 16:48:11   作者:晚生隆海  
這篇文章主要為大家詳細(xì)介紹了Vue2實現(xiàn)自適應(yīng)屏幕大小的兩種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

甲方爸爸之前的需要只是要PC端訪問,沒有做不同屏幕的自適應(yīng)尺寸,這個年代誰的屏幕沒有1980.然后經(jīng)過幾個月的頁面修改好現(xiàn)在需要適應(yīng)各式各樣的屏幕,做自適應(yīng)。關(guān)鍵項目寫完了,一個個改費時費心費力。經(jīng)過不段的探索有兩個方案可行,一個方案有個bug,一個完美適配

方案一

1.安裝npm i lib-flexible --save npm install postcss-pxtorem -D lib-flexible庫的新版本:github.com/amfe/lib-fl…

2.在項目入口文件main.js中引入lib-flexible

import 'lib-flexible/flexible.js'

3.在項目根目錄的index.html 頭部刪除自動生成的meta標(biāo)簽, lib-flexible會根據(jù)屏幕自動生成相對于的meta標(biāo)簽

// 刪除
<meta name="viewport" content="width=device-width, initial-scale=1.0">

4.在項目根新建postcss.config.js

//另一種可以新建postcss.config.js,寫入如下代碼
module.exports = {
  plugins: {
    // 兼容瀏覽器,添加前綴
    autoprefixer: {
      overrideBrowserslist: [
        "Android 4.1",
        "iOS 7.1",
        "Chrome > 31",
        "ff > 31",
        "ie >= 8",
        "last 10 versions", // 所有主流瀏覽器最近10版本用
      ],
      grid: true,
    },
    "postcss-pxtorem": {
      rootValue: 16, //結(jié)果為:設(shè)計稿元素尺寸/16,比如元素寬320px,最終頁面會換算成 20rem
      propList: ["*"], //是一個存儲哪些將被轉(zhuǎn)換的屬性列表,這里設(shè)置為['*']全部,假設(shè)需要僅對邊框進(jìn)行設(shè)置,可以寫['*', '!border*']
      unitPrecision: 5, //保留rem小數(shù)點多少位
      //selectorBlackList: ['.radius'],  //則是一個對css選擇器進(jìn)行過濾的數(shù)組,比如你設(shè)置為['fs'],那例如fs-xl類名,里面有關(guān)px的樣式將不被轉(zhuǎn)換,這里也支持正則寫法。
      replace: true, //這個真不知到干嘛用的。有知道的告訴我一下
      mediaQuery: false, //媒體查詢( @media screen 之類的)中不生效
      minPixelValue: 12, //px小于12的不會被轉(zhuǎn)換
    },
  },
};

// 藍(lán)湖上設(shè)計稿自定義為375px 測量值直接寫入即可 若設(shè)計稿為750px 則rootValue: 32

在vue.config.js內(nèi)配置

 // 配置pc端適配
    css: {
        loaderOptions: {
          postcss: {
              postcssOptions: { #加上此配置,網(wǎng)上很多是沒有,運行會報錯
                plugins: [
                  require('postcss-pxtorem')({
                    rootValue : 16, // 換算的基數(shù)
                    minPixelValue: 2,
                    selectorBlackList  : [], // 忽略轉(zhuǎn)換正則匹配項 列入一些ui庫, ['.el'] 就是忽略elementUI庫
                    propList   : ['*'],
                  }),
                ]
              }
            }
        }
    }

此方案不打開控制臺或不改變?yōu)g覽器的顯示區(qū)域?qū)捀?,會自動把html的fontsize改變造成樣式變化,每次都要手動刷新下才正常,此bug暫時沒找到解決方法,感覺不是很好。

方案二(完美解決)

1.在自己項目utils下新建rem.js文件

// rem等比適配配置文件
// 基準(zhǔn)大小
const baseSize = 16
// 設(shè)置 rem 函數(shù)
function setRem () {
  // 當(dāng)前頁面屏幕分辨率相對于 1920寬的縮放比例,可根據(jù)自己需要修改
  const scale = document.documentElement.clientWidth / 1920
  // 設(shè)置頁面根節(jié)點字體大小(“Math.min(scale, 2)” 指最高放大比例為2,可根據(jù)實際業(yè)務(wù)需求調(diào)整)
  document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px'
}
// 初始化
setRem()
// 改變窗口大小時重新設(shè)置 rem
window.onresize = function () {
  setRem()
}

2.在main.js中引入適配文件

import '@/utils/rem.js'

3.安裝postcss-pxtorem

npm i postcss-pxtorem

如果有報錯版本太高可以試下低版本

npm i postcss-pxtorem@5.1.1 -D

在vue.config.js內(nèi)配置

 // 配置pc端適配
    css: {
        loaderOptions: {
          postcss: {
              postcssOptions: { #加上此配置,網(wǎng)上很多是沒有,運行會報錯
                plugins: [
                  require('postcss-pxtorem')({
                    rootValue : 16, // 換算的基數(shù)
                    minPixelValue: 2,
                    selectorBlackList  : [], // 忽略轉(zhuǎn)換正則匹配項 列入一些ui庫, ['.el'] 就是忽略elementUI庫
                    propList   : ['*'],
                  }),
                ]
              }
            }
        }
    }

PostCSS Loader被用來處理Less文件,并且在loaderOptions中配置了PostCSS插件,但是PostCSS Loader的選項對象中沒有包含plugins屬性。// 使用postcssOptions屬性來配置PostCSS插件 postcssOptions

忽略不轉(zhuǎn)換

1、 就是配置上面vue.config.js的selectorBlackList

2、 就是把px設(shè)置為PX就不會轉(zhuǎn)換, 例如: min-width: 800PX

到此這篇關(guān)于Vue2實現(xiàn)自適應(yīng)屏幕大小的兩種方法詳解的文章就介紹到這了,更多相關(guān)Vue2自適應(yīng)屏幕大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    這篇文章主要給大家介紹了關(guān)于vue cli3.0結(jié)合echarts3.0與地圖的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Vue純前端實現(xiàn)導(dǎo)出Excel并修改樣式

    Vue純前端實現(xiàn)導(dǎo)出Excel并修改樣式

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用xlsx-style庫實現(xiàn)導(dǎo)出Excel并修改樣式的功能,文中的示例代碼講解詳細(xì),有需要的可以參考下
    2024-01-01
  • Vue中如何運用TS語法

    Vue中如何運用TS語法

    本文主要介紹了Vue中如何運用TS語法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • vue 實現(xiàn)全選全不選的示例代碼

    vue 實現(xiàn)全選全不選的示例代碼

    本篇文章主要介紹了vue 實現(xiàn)全選全不選的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Vue項目打包部署到GitHub Pages的實現(xiàn)步驟

    Vue項目打包部署到GitHub Pages的實現(xiàn)步驟

    本文主要介紹了Vue項目打包部署到GitHub Pages的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Vue使用VueUse實現(xiàn)開發(fā)效率提升指南

    Vue使用VueUse實現(xiàn)開發(fā)效率提升指南

    VueUse/Core?是一個基于?Composition?API?的Vue實用函數(shù)集合,它提供了一系列可復(fù)用的組合式函數(shù),涵蓋了常見的開發(fā)需求,下面小編來和大家講講它的具體應(yīng)用吧
    2025-05-05
  • Vue中添加過渡效果的方法

    Vue中添加過渡效果的方法

    本篇文章主要介紹了Vue中添加過渡效果的方法,Vue 在插入、更新或者移除 DOM 時,提供多種不同方式的應(yīng)用過渡效果,有興趣的同學(xué)可以了解一下。
    2017-03-03
  • vue.js實現(xiàn)表格合并示例代碼

    vue.js實現(xiàn)表格合并示例代碼

    最近工作中遇到一個需求,是要做一個頁面放張大表格用來顯示數(shù)據(jù)項,純粹為了view層操作方便,就用了vue做渲染。然而又被提出了一個需求,需要相鄰的相同值的行數(shù)據(jù)項進(jìn)行單元格合并,這就醉了。沒辦法,只能想辦法解決,下面通過這篇文章來一起看看吧。
    2016-11-11
  • vue3的watch和watchEffect你了解嗎

    vue3的watch和watchEffect你了解嗎

    這篇文章主要為大家詳細(xì)介紹了vue的watch和watchEffect,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • sortable+element 實現(xiàn)表格行拖拽的方法示例

    sortable+element 實現(xiàn)表格行拖拽的方法示例

    這篇文章主要介紹了sortable+element 實現(xiàn)表格行拖拽的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06

最新評論

华亭县| 新田县| 萝北县| 西吉县| 商水县| 徐水县| 泌阳县| 莱州市| 蕉岭县| 湾仔区| 南丰县| 璧山县| 东安县| 大名县| 津南区| 泌阳县| 霸州市| 长子县| 雷波县| 贺州市| 巨鹿县| 泊头市| 固镇县| 吉木乃县| 黄梅县| 临猗县| 三门峡市| 邯郸县| 宁化县| 成都市| 江永县| 都匀市| 清河县| 靖州| 随州市| 宜阳县| 沽源县| 赣榆县| 文登市| 武宁县| 东平县|