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

Vue中獲取圖片高度的兩種方法

 更新時間:2024年08月01日 09:28:10   作者:一溪風月  
在使用Vue2開發(fā)移動端頁面的時候,需要做一個效果,實現(xiàn)的方案是背景漸變,但是想要實現(xiàn)這個效果就必須進行定位,我的背景高度需要在一個十分恰當?shù)奈恢?但是我的圖片會隨著移動端頁面的變化而發(fā)生高度的變化,為什么會變化?所以本文介紹了Vue中獲取圖片高度的方法

一.問題描述

在使用Vue2開發(fā)移動端頁面的時候,需要做一個效果,實現(xiàn)的方案是背景漸變,但是想要實現(xiàn)這個效果就必須進行定位,然后設置z-index讓這個元素在其他元素的下面,我的背景高度需要在一個十分恰當?shù)奈恢?,在這個背景上面還有另外一張圖片,但是我的圖片會隨著移動端頁面的變化而發(fā)生高度的變化,為什么會變化哪?因為我設置了圖片的寬度為100%這樣就有可能導致,背景的位置在寬屏的情況下和UI差距比較大,所以我需要獲取圖片的高度,然后在這個高度上增加合適的高度就可以在任何屏幕中自適應,但是無論我在mounted中如何獲取,甚至在$nextTick中獲取到的圖片高度都是0,導致一直無法實現(xiàn)自己想要的效果,以上描述的效果基本如下:

二.問題分析

出現(xiàn)這個問題的點在于,進行背景設置的元素,是定位的,所以脫離了標準流,導致它的高度無法被撐起來,并且也不能撐起來,因為它的高度是一個比較特殊的高度,所以只能進行定位,但是又因為圖片的高度變化,導致背景一個固定的值不能滿足要求,解決方案是動態(tài)獲取圖片的高度然后相應的去設置背景元素的高度,比較坑的地方就在于直接在mounted$nextTick中拿不到高度,原因在于圖片未加載完成,所以需要在圖片完全加載后進行后續(xù)的處理。

三.問題解決

解決方案一: 使用JS的方式進行獲取圖片高度,在圖片高度的基礎上動態(tài)設置背景高度。

methods: {
  handleImageLoad(event) {
    const height = event.target.offsetHeight;
    this.height1 = height + 120;
  },

  getPicHeight() {
    this.height1 = this.$refs.myPictrue.offsetHeight + 120;
  },
},

  mounted() {
    window.addEventListener("resize", () => {
      this.getPicHeight();
    });
  },

  beforeDestroy() {
    window.removeEventListener("resize", this.getPicHeight);
  },

解決這個問題的方法就是使用 @load="handleImageLoad"當圖片加載完畢之后就會直接出發(fā)這個方法中的邏輯進行處理,然后獲取高度來讓背景跟隨圖片高度進行變化。

解決方案二: 手動計算圖片比例,使用vw進行動態(tài)計算。

.img {
  width: 100vw;
  height: 40vw;
  position: relative;
  z-index: 9;
  background-color: red;
}
.img-bg {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  height: calc(40vw + 120px);
  background-color: green;
}

四.問題總結

這個問題其實本質原因還是對不同內(nèi)容加載完成時機不夠清楚,因為在開發(fā)過程中有時候確實不太會去考慮拿到圖片的高度,但是其實使用vw來解決這個問題其實是更好的,它的缺點在于需要自己去計算寬高比,但是本著不寫代碼就不會有bug的原則,能夠盡量使用純CSS解決的問題就用純CSS來解決。

到此這篇關于Vue中獲取圖片高度的兩種方法的文章就介紹到這了,更多相關Vue中獲取圖片高度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue.js數(shù)據(jù)綁定操作詳解

    vue.js數(shù)據(jù)綁定操作詳解

    這篇文章主要介紹了vue.js數(shù)據(jù)綁定操作,結合實例形式詳細分析了vue.js數(shù)據(jù)綁定的各種常見操作技巧與相關注意事項,需要的朋友可以參考下
    2018-04-04
  • vue element-ui讀取pdf文件的方法

    vue element-ui讀取pdf文件的方法

    這篇文章主要介紹了vue element-ui讀取pdf文件的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • vue項目中圖片懶加載時出現(xiàn)的問題及解決

    vue項目中圖片懶加載時出現(xiàn)的問題及解決

    這篇文章主要介紹了vue項目中圖片懶加載時出現(xiàn)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue3 源碼導讀(推薦)

    Vue3 源碼導讀(推薦)

    這篇文章主要介紹了Vue3 源碼導讀(推薦),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Vue使用vue-simple-uploader上傳文件夾實現(xiàn)方式

    Vue使用vue-simple-uploader上傳文件夾實現(xiàn)方式

    本文介紹使用vue-simple-uploader上傳文件夾的流程:前端點擊按鈕選擇文件夾,確認上傳并顯示進度;后端SpringBoot接收文件夾數(shù)據(jù),完成傳輸與處理
    2025-09-09
  • vue-virtual-scroll-list虛擬組件實現(xiàn)思路詳解

    vue-virtual-scroll-list虛擬組件實現(xiàn)思路詳解

    這篇文章主要給大家介紹了關于vue-virtual-scroll-list虛擬組件實現(xiàn)思路的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-02-02
  • Vue.js通過組件處理Icon圖標

    Vue.js通過組件處理Icon圖標

    這篇文章介紹了Vue.js通過組件處理Icon圖標的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-11-11
  • vant的picker的坑及解決

    vant的picker的坑及解決

    這篇文章主要介紹了vant的picker的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Vue-cli3生成的Vue項目加載Mxgraph方法示例

    Vue-cli3生成的Vue項目加載Mxgraph方法示例

    這篇文章主要介紹了Vue-cli3生成的Vue項目加載Mxgraph方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • 使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系

    使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系

    這篇文章主要介紹了使用Vue-neo4j實現(xiàn)繪制三國人物圖譜關系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論

泽库县| 卢氏县| 无为县| 灌南县| 上杭县| 江口县| 磴口县| 彰武县| 东方市| 洛隆县| 佛学| 临颍县| 尖扎县| 望城县| 昭通市| 三原县| 延长县| 长垣县| 夏津县| 虞城县| 滁州市| 青田县| 拉萨市| 登封市| 岳西县| 左贡县| 连云港市| 康平县| 江油市| 长沙市| 阜阳市| 泾阳县| 河北区| 元谋县| 石首市| 大庆市| 叶城县| 淮滨县| 佛坪县| 太保市| 中方县|