純CSS方型圖片,RWD自適應父容器寬度

在現代網頁設計中,我們經常需要在不同裝置和螢幕大小下展示圖片。有時,我們希望圖片能夠以方型的形式呈現,並自動適應其父容器的寬度。在這篇文章中,我們將使用純 CSS 技術來實現這樣的效果。

HTML 結構

首先,讓我們來看一下 HTML 結構。我們將使用以下代碼:

<div class="image-square">
  <img src="https://source.unsplash.com/random" alt="圖片描述">
</div>

在這個結構中,我們使用了一個包含 image-square 類別的容器,並在其中插入一個 <img> 元素。src 屬性設置為 Unsplash 提供的隨機圖片 URL,這樣我們可以獲得一個無版權的圖片來完整演示這個範例。

CSS 樣式

現在,我們來看一下 CSS 樣式,以實現方型圖片並使其自適應父容器的寬度。

.image-square {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  position: relative;
  overflow: hidden;
}

.image-square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

在這個 CSS 樣式中,我們對 .image-square 類別設置了以下屬性:

  • width: 100%:將容器的寬度設置為父容器的100%。
  • height: 0:初始高度設置為0。
  • padding-bottom: 100%:使用 padding-bottom 屬性設置容器的高度為寬度的百分比,這樣我們就可以創建一個方形容器。
  • position: relative:設置相對定位以使圖片定位在容器內。
  • overflow: hidden:隱藏溢出的部分。

對於 .image-square img 選擇器,我們設置了以下屬性:

  • width: 100%:將圖片的寬度設置為100%,以填滿容器的寬度。
  • height: 100%:將圖片的高度設置為100%,以填滿容器的高度。
  • object-fit: cover:使用 object-fit 屬性設置圖片以覆蓋整個容器,並保持比例。
  • position: absolute:將圖片設置為絕對定位,以使其相對於容器定位。
  • top: 0left: 0:將圖片置於容器的頂部和左側。

完整示例

您可以在 CodePen 上查看完整的示例,並進行測試和修改。

See the Pen Untitled by VECTOR.cool 威得數位 (@ann71727) on CodePen.

結論

透過使用純 CSS 技術,我們可以輕鬆地創建方型圖片容器並實現自適應父容器寬度的效果。這個技巧可以應用於各種網頁設計場景中,為使用者提供更好的視覺體驗。透過設置容器的寬度為父容器的百分比,並使用 padding-bottom 屬性創建一個方形容器,我們可以確保圖片在不同裝置和螢幕大小下都能自動調整大小,並保持比例。這種技術的優點是簡單且無需任何 JavaScript 庫或框架的依賴。希望這篇文章能幫助您理解如何使用純 CSS 創建自適應的方型圖片容器。

如果文章對您很有幫助
請我喝杯咖啡吧

Bitcoin 比特幣錢包:

38ieWXhURt27br9XrDoCeo4eruzKyi8QKs



ann71727

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料