div裏面一個img標籤,按最大邊縮放的不變形、不超出、上下左右居中的解決辦法

div裏面一個img標籤的不變形、不超出、上下左右居中的解決辦法

這段時間做一個比較簡單的小項目,當中有一個圖片展示的頁面,當我把數據圖片展示到前端的時候,發現前端小姐姐寫的css樣式有點小小的問題,就是我從後臺返回到前端的圖片,有的長,有的寬,大小不一,這裏列舉兩張圖片,一張長,一張寬:
在這裏插入圖片描述

原本的樣式就是無解皮皮蝦固定長寬,就導致圖片成了這樣:
在這裏插入圖片描述
很明顯,變形了。

因此,首先讓它不變形,
代碼(這樣就可以同時滿足長和寬都不超出邊框):

div{
	width:650px;
	height:500px
}
img{
	max-width: 100%;
	max-height: 100%;
}

ok,然後就變成了這樣:
在這裏插入圖片描述
很明顯,上下沒有居中,有人說,可以給img加上:

vertical-align:middle;
text-align:center;
dispaly:block;
margin:0 auto;
圖片設爲背景,然後:background-position:center;

等一系列方法。。。
但是~我試了都不行(各個頁面情況不同,小夥伴們也可以試試上面的方法)
然後我最後用這種辦法給它搞居中了:

position: relative;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);

最終代碼:

div{
	width:650px;
	height:500px
}
img{
	max-width: 100%;
    max-height: 100%;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

ok~下面是最終效果:
在這裏插入圖片描述
在這裏插入圖片描述
解決戰鬥~
網上很多讓圖片按長縮放和按寬縮放的辦法,但是大多隻考慮了一種情況,
我經過多次試驗,發現這種辦法確實可以解決我的此次需求。
現在分享出來,供大家參考~

發佈了49 篇原創文章 · 獲贊 43 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章