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

Vue項目如何改變屏幕尺寸重新刷新頁面-計算頁面尺寸

 更新時間:2022年09月15日 15:49:12   作者:JackieDYH  
這篇文章主要介紹了Vue項目如何改變屏幕尺寸重新刷新頁面-計算頁面尺寸,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

改變屏幕尺寸重新刷新頁面-計算頁面尺寸

效果

在app.vue中設(shè)置

方式一

<template>
  <div id="app">
      <router-view />
  </div>
</template>
<script>
export default {
  name: "App",
  components: {},
  data() {
    return {};
  },
  created() {},
  mounted() {
    //窗口尺寸改變
    window.onresize = () => {
      return (() => {
        // this.$forceUpdate();//強制更新數(shù)據(jù)
        this.$router.go(0);
      })();
    };
  },
  methods: {},
  destroyed() {
    // 銷毀
    window.onresize = null;
  },
};
</script>

多次使用window.onresize,會造成其他的失效

方式二

<template>
  <div id="app">
      <router-view />
  </div>
</template>
<script>
export default {
  name: "App",
  components: {},
  data() {
    return {};
  },
  created() {},
  mounted() {
    //窗口尺寸改變
    window.addEventListener("resize", () => this.Refresh());
  },
  methods: {
	Refresh() {
      this.$router.go(0);
    },
  },
  destroyed() {
    // 銷毀
    window.removeEventListener("resize", this.Refresh());
  },
};
</script>

尺寸的自適應(yīng) 大屏自適應(yīng)

我在一些大屏的項目中,碰見自己電腦寫好的樣式,但是在大屏中出現(xiàn)了變形。

通過 postcss-px2rem 插件,實現(xiàn)項目的自適應(yīng)

使用:

** 1、安裝包**

npm install postcss-px2rem px2rem-loader --save

2、文件創(chuàng)建

在src目錄下創(chuàng)建一個util的工具文件夾,然后創(chuàng)建一個js文件,這里我叫pxtorem.js,文件中寫上一下代碼

// rem等比適配配置文件
// 基準(zhǔn)大小
const baseSize = 16
// 設(shè)置 rem 函數(shù)
function setRem () {
  // 當(dāng)前頁面寬度相對于 1920寬的縮放比例,可根據(jù)自己需要修改。
  const scale = document.documentElement.clientWidth / 1920
  // 設(shè)置頁面根節(jié)點字體大?。ā癕ath.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()
}

3、在main.js文件中引入剛剛創(chuàng)建好的文件

import './util/pxtorem'

4、在vue.config.js文件中配置

如果項目中沒有這個文件,可以自己手動在根目錄下創(chuàng)建一下

// 引入等比適配插件
const px2rem = require('postcss-px2rem')
// 配置基本大小
const postcss = px2rem({
? // 基準(zhǔn)大小 baseSize,需要和rem.js中相同
? remUnit: 16
})
// 使用等比適配插件
module.exports = {
? lintOnSave: true,
? css: {
? ? loaderOptions: {
? ? ? postcss: {
? ? ? ? plugins: [
? ? ? ? ? postcss
? ? ? ? ]
? ? ? }
? ? }
? }
}

通過transform,可用于echarts的項目中

ps:echart中的適應(yīng),你也可以用echarts自帶的resize,然后對內(nèi)部的文字字體大小設(shè)置一個值,進行變化 

<template>
  <div id="app">
    <div ref="newCatalog" class="newCatalog">
      <router-view />
    </div>
  </div>
</template>
<script>
export default {
  name: 'App',
  data() {
    return {
      scale: ''
    }
  },
  mounted() {
    this.setScale()
    window.addEventListener('resize', this.setScale)
  },
  methods: {
    getScale() {
      const width = window.screen.width
      const height = window.screen.height
      let ww = window.innerWidth / 1920
      let wh = window.innerHeight / 1080
      return ww < wh ? ww : wh
    },
    setScale() {
      this.scale = this.getScale()
      this.$refs.newCatalog.style.setProperty('--scale', this.scale)
    }
  }
}
</script>
<style lang="scss">
@import '~style/init.scss';
#app {
  width: 100vw;
  height: 100vh;
  font-family: Alibaba-PuHuiTi-R, Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  background: url('~assets/images/bg.png');
  background-size: cover;
}
.newCatalog {
  --scale: 1;
  width: 1920px;
  height: 1080px;
  background-size: 100% 100%;
  position: absolute;
  transform: scale(var(--scale)) translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  transform-origin: 0 0;
  left: 50%;
  top: 50%;
}
</style>

通過 postcss-px-to-viewport 插件,實現(xiàn)項目的自適應(yīng)

文檔

和vue.config.js 文件同級,建一個 postcss.config.js 的文件

module.exports = {
  plugins: {
    'postcss-px-to-viewport': {
      unitToConvert: 'px', // 需要轉(zhuǎn)換的單位,默認為"px"
      viewportWidth: 1920, // 設(shè)計稿的視口寬度
      unitPrecision: 5, // 單位轉(zhuǎn)換后保留的精度
      propList: ['*'], // 能轉(zhuǎn)化為vw的屬性列表
      viewportUnit: 'vw', // 希望使用的視口單位
      fontViewportUnit: 'vw', // 字體使用的視口單位
      selectorBlackList: [], // 需要忽略的CSS選擇器,不會轉(zhuǎn)為視口單位,使用原有的px等單位。
      minPixelValue: 1, // 設(shè)置最小的轉(zhuǎn)換數(shù)值,如果為1的話,只有大于1的值會被轉(zhuǎn)換
      mediaQuery: false, // 媒體查詢里的單位是否需要轉(zhuǎn)換單位
      replace: true, //  是否直接更換屬性值,而不添加備用屬性
      exclude: [/node_modules/, /LargeScreen/], // 忽略某些文件夾下的文件或特定文件,例如 'node_modules' 下的文件,數(shù)組中寫正則
      include: undefined, // 如果設(shè)置了include,那將只有匹配到的文件才會被轉(zhuǎn)換
      landscape: false, // 是否添加根據(jù) landscapeWidth 生成的媒體查詢條件 @media (orientation: landscape)
      landscapeUnit: 'vw', // 橫屏?xí)r使用的單位
      landscapeWidth: 1920, // 橫屏?xí)r使用的視口寬度
    },
  },
};

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中的適配px2rem示例代碼

    vue中的適配px2rem示例代碼

    這篇文章主要給大家介紹了關(guān)于vue中適配px2rem的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • vue懸浮表單復(fù)合組件開發(fā)詳解

    vue懸浮表單復(fù)合組件開發(fā)詳解

    這篇文章主要為大家詳細介紹了vue懸浮表單復(fù)合組件開發(fā),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • uniapp?webview和H5通信的3種方式代碼示例

    uniapp?webview和H5通信的3種方式代碼示例

    最近在研究uni-app跨端開發(fā)APP和H5的通訊和交互,比如H5調(diào)用APP的方法,APP往H5里面?zhèn)鲄?H5往app外面?zhèn)鲄?這篇文章主要給大家介紹了關(guān)于uniapp?webview和H5通信的3種方式,需要的朋友可以參考下
    2024-04-04
  • VUE 實現(xiàn)element upload上傳圖片到阿里云

    VUE 實現(xiàn)element upload上傳圖片到阿里云

    這篇文章主要介紹了VUE 實現(xiàn)element upload上傳圖片到阿里云,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 基于vue+h5實現(xiàn)車牌號輸入框功能(demo)

    基于vue+h5實現(xiàn)車牌號輸入框功能(demo)

    最近開發(fā)項目是學(xué)校校內(nèi)車輛超速方面的統(tǒng)計檢測方面的系統(tǒng),在開發(fā)過程中發(fā)現(xiàn)有個小功能,就是用戶移動端添加車牌號,剛開始想著輸入框,提交時正則效驗一下格式,最后感覺不方便,所以就簡單自己手寫了一個H5車牌號軟鍵盤,對vue車牌號輸入框?qū)崿F(xiàn)代碼感興趣的朋友一起看看吧
    2025-03-03
  • 基于Vue3實現(xiàn)一個簡單的方位動畫

    基于Vue3實現(xiàn)一個簡單的方位動畫

    這篇文章主要為大家詳細介紹了如何基于Vue3實現(xiàn)一個簡單的方位動畫,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • vue3系統(tǒng)進入頁面前的權(quán)限判斷和重定向方式

    vue3系統(tǒng)進入頁面前的權(quán)限判斷和重定向方式

    這篇文章主要介紹了vue3系統(tǒng)進入頁面前的權(quán)限判斷和重定向方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解Vue如何將多個空格被合并顯示成一個空格

    詳解Vue如何將多個空格被合并顯示成一個空格

    這篇文章主要為大家詳細介紹了在Vue中如何將多個空格被合并顯示成一個空格,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 手把手教你使用electron將vue項目打包成exe

    手把手教你使用electron將vue項目打包成exe

    Electron相當(dāng)于一個瀏覽器的外殼,可以把現(xiàn)有的vue程序嵌入到殼里面,下面這篇文章主要給大家介紹了關(guān)于如何使用electron將vue項目打包成exe的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Vue彈窗的兩種實現(xiàn)方式實例詳解

    Vue彈窗的兩種實現(xiàn)方式實例詳解

    這篇文章主要介紹了Vue彈窗的兩種實現(xiàn)方式,一種使用.sync修飾符另一種使用v-model,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08

最新評論

柳州市| 罗田县| 江都市| 五常市| 黑水县| 阿勒泰市| 湘潭县| 台中市| 呼图壁县| 平原县| 乐平市| 建始县| 凤冈县| 福贡县| 塔城市| 富平县| 江达县| 商都县| 绥滨县| 北流市| 隆子县| 呼和浩特市| 前郭尔| 珠海市| 班戈县| 藁城市| 宁海县| 青海省| 衡阳市| 布拖县| 崇文区| 乌拉特前旗| 勐海县| 同心县| 汉沽区| 海伦市| 长春市| 永顺县| 金沙县| 静宁县| 句容市|