日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小程序 、h5图片铺满div,自适应容器大小

發(fā)布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小程序 、h5图片铺满div,自适应容器大小 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

圖片鋪滿div,自適應容器大小,不會拉伸變形

小程序

mode屬性

scaleToFill:縮放模式,不保持縱橫比,圖片拉伸至填滿 image 元素
aspectFit: 縮放模式,保持縱橫比,保證圖片的長邊能完全顯示出來。
aspectFill: 縮放模式,保持縱橫比,保證圖片的短邊能完全顯示出來,長邊截取。
widthFix: 縮放模式,寬度不變,高度自動變化,保持原圖寬高比不變
heightFix:縮放模式,高度不變,寬度自動變化,保持原圖寬高比不變
其他的不實用,不做講解

例子:只有這樣寫才能保證圖片寬高小于大于box展示大小的圖片都能不變形的鋪滿顯示

<view class="comm__box"><image class="comm__img" mode="widthFix" src=""></image> </view> .comm__box{width: 100%;height: calc((100vw - 40px) * 250 / 690);background: #fff;position: relative;overflow: hidden; } .comm__mg {min-width: 100%;min-height: 100%;position: absolute;top: 25%;left: 50%;transform:translate(-50%,-25%);display: block; }

2. 使用bindload綁定函數(shù)動態(tài)自適應
思路:獲取到原圖的寬度和高度。

然后計算他們的寬高比率。。然后設置一個寬度大小(rpx),最后通過style動態(tài)設置image的寬高。

<image src="../uploads/2.jpg" bindload="imageLoad" style="width:{{imgwidth}}rpx; height:{{imgheight }}rpx;"></image> var app = getApp() Page({data: {imgwidth:0,imgheight:0,},onLoad: function() {},imageLoad: function(e) {var _this=this;var $width=e.detail.width, //獲取圖片真實寬度$height=e.detail.height,ratio=$width/$height; //圖片的真實寬高比例var viewWidth=500, //設置圖片顯示寬度,viewHeight=500/ratio; //計算的高度值this.setData({imgwidth:viewWidth,imgheight:viewHeight})} })

h5

1. object-fit屬性,對應小程序的mode
思路:直接給img套用一個object-fit:cover;讓img填滿盒模型。
代碼:

img{width: 100%;height: 100%;object-fit:cover; }

缺點:由于是新代碼,在一些瀏覽器上還不兼容。回退機制上,如果瀏覽器不認識object-fit,那整個圖片就會被強制拉伸成容器的尺寸。

2. min
思路:通過對img元素定位,并將它的高度和寬度設置一個最小滿屏值??梢愿鶕?jù)不同定位來顯示大圖的展示區(qū)域
代碼例子:

div{position:relative;overflow:hidden;width: 100%; height: calc((100vw - 40px) * 250 / 690); } div img{position: absolute;top: 50%;left: 50%;transform:translate(-50%,-50%);display: block;min-width: 100%;min-height: 100%; }

缺點:父容器顯示區(qū)域寬高固定。圖片寬高任意一尺寸小于容器時,這個情況是正常的,但如果圖片的寬高都大于容器,圖片也能鋪滿,但容器就只顯示大圖的其中部分。

總結

以上是生活随笔為你收集整理的小程序 、h5图片铺满div,自适应容器大小的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。