css圖片不變形處理

當UI出好圖時,圖片的格式都是有一定比例。但是你不知道的是從后臺拉取的圖片到底是什么比例的。
如果給圖片寫死寬高的話,就會出現(xiàn)圖片變形的問題。這個時候產(chǎn)品就會找你說話了。。。

目前的處理有兩種方式
1,通過背景圖的方式處理。通過background-size作用在容器上

<div class="img_background"></div>
.img_background{
      width: 300px;
      height: 200px;
      border: 1px solid red;
      background-image: url('2.jpeg');
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
}

2,對圖片使用使用object-fit:cover(推薦使用)

<div class="img_fit">
    <img src="2.jpeg"/>
</div>
.img_fit{
      width: 300px;
      height: 200px;
      border: 1px solid red;
      img{
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

object-fit,具體有5個值:

.fill { object-fit: fill; }
.contain { object-fit: contain; }
.cover { object-fit: cover; }
.none { object-fit: none; }
.scale-down { object-fit: scale-down; }

每個屬性值的具體含義如下(自己理解的白話文,官方釋義見官網(wǎng)):

  • fill: 中文釋義“填充”。默認值。替換內(nèi)容拉伸填滿整個content box, 不保證保持原有的比例。
  • contain: 中文釋義“包含”。保持原有尺寸比例。保證替換內(nèi)容尺寸一定可以在容器里面放得下。因此,此參數(shù)可能會在容器內(nèi)留下空白。
  • cover: 中文釋義“覆蓋”。保持原有尺寸比例。保證替換內(nèi)容尺寸一定大于容器尺寸,寬度和高度至少有一個和容器一致。因此,此參數(shù)可能會讓替換內(nèi)容(如圖片)部分區(qū)域不可見。
  • none: 中文釋義“無”。保持原有尺寸比例。同時保持替換內(nèi)容原始尺寸大小。
  • scale-down: 中文釋義“降低”。就好像依次設置了none或contain, 最終呈現(xiàn)的是尺寸比較小的那個。

兩種方式實現(xiàn)和效果和原理其實是一樣的。都是通過縮放比例,覆蓋整個尺寸之后。居中顯示。
因為若想圖片不變形的,肯定是需要縮放的。


效果圖.png
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容