圖片變形不少人祭奠出了妖魔鬼怪般的各類大法,好比使用jq來寫,或者使用css表達式來寫。今天我總結的是使用css3來寫,惟一最大缺點就是對一些瀏覽器版本不夠兼容。下面就是關於如何使用css來讓圖片居中不變形css
web端:css3
img{vertical-align:middle;object-fit: cover}
object-fit: cover 的效果和background-size:cover;的效果同樣,一個缺點就是容器不夠適應的原圖大小的比例的話,會按照比例進行放大裁剪
object-fit
CSS 屬性指定替換元素的內容應該如何適應到其使用的高度和寬度肯定的框web
fill
contain
cover
none
scale-down
none
或
contain
,取決於哪個將致使更小的對象尺寸
詳細的object-fit方法的介紹能夠查看mdn文檔:https://developer.mozilla.org/zh-CN/docs/Web/CSS/object-fit小程序
微信小程序端這塊比較靈活,除了可使用以上的方法以外,微信小程序image有自帶的屬性方法:微信小程序
<image src='http://122.114.109.181:8888/img/webiste/2018/05/20180524092901026881.png' mode="aspectFill"></image>
重點就是:mode="aspectFill" 這塊,詳細介紹以下:aspectFill和object-fit: cover同樣,都是和background-size:cover效果差很少瀏覽器
scaleToFill{ background-size:100% 100%;//不保持縱橫比縮放圖片,使圖片的寬高徹底拉伸至填滿 image 元素 } aspectFit{ background-size:contain;//保持縱橫比縮放圖片,使圖片的長邊能徹底顯示出來。也就是說,能夠完整地將圖片顯示出來。 } aspectFill{ background-size:cover;//保持縱橫比縮放圖片,只保證圖片的短邊能徹底顯示出來。也就是說,圖片一般只在水平或垂直方向是完整的,另外一個方向將會發生截取。 }
轉載本人博文時請註明出處和原文地址!!!微信