Gina. 已發佈 2019-10-20

使用 padding-top/bottom 實現等比例響應式背景圖

一般處理響應式圖片時,最簡易的處理方式是將 <img> 圖片標籤寬度設置最大寬度百分比值使其高度會隨著寬度的變化自適應調整,並維持原圖片的寬高比。
images
若想在一區塊裡添加響應式背景圖,且維持固定的寬高比時,可使用 padding-top 或 padding-bottom 設定百分比值,而百分比是以父元素的內容區域為基準,隨著父元素的寬度變化而變化。
images

background-size: cover ;

主要用於背景圖小於所在的內容,而背景圖又不適合使用 repeat,此時就可以採用 cover 的方式,使背景圖放大至內容的大小。

padding-top: 56.25%;

設欲放一張 450px*800px 的背景圖片,其寬高比算法為 450/ 800 = 0.5625,故 padding-top 設為56.25%。


適用情境

--- 不同大小的圖片欲作輪播效果,且能按一定比例縮放而不變形。

<img>

使用<img>標籤時,因圖片大小不同,使得輪播畫面的圖片高度不一讓整體畫面顯得不美觀。
images

images

background-image

將圖片使用背景圖方式呈現並加上 padding-top/bottom 及 background-size: cover 後,讓背景圖片全都能以 4 比 3 的寬高比例縮放自適應大小。

images

images

參考資源
Mozilla
Responsive background images with fixed or fluid aspect ratios
透過 padding 製作響應式背景圖

關於筆者

暱稱:Gina.

文章列表 文章列表