我要成為切版魔法師 #1 - 不管啦,就是要正方形!

更新 發佈閱讀 2 分鐘

網頁中經常會出現正方形的設計,在切版時如果直接設定固定寬高就是破版的節奏,但單用百分比設定長寬,RWD 時還是會變得不夠正,這邊提供兩個方法:

第一個方法:直接設定固定寬高(被打

只適用在網頁很小的元素上,不受 RWD 影響、也不會導致破版,那還是可以省事點,直接設定固定寬高。

第二個方法:使用 padding 特性來撐出等比例的正方形

當 padding 設定為百分比時,所依據的單位是以父容器寬度來計算(不是本身元素),假如今天父容器寬度為 100px,子元素 padding 設定 10%,就會得出 10px

按照以上特性,就可以知道子元素的 padding 和 width 百分比數值相同時,就會呈現正方形(因為它們的參考基準都是父容器的寬度),要注意 height 要設定 0,避免內容撐出多餘的高度,導致整體並不是正方形。

.box{
width: 30%;
padding-bottom: 30%;
height: 0;
}

圖片使用 img 標籤無法放入到容器中怎麼辦?

純文字和使用 background-image 語法加入圖片都可以透過上面的這個方式直接放置在容器中,但使用 img 標籤就會完全消失,主要是因為 height 已經被強制設定為 0,解決方法可以透過以下步驟:

  1. img 標籤使用 position: absolute ,放置圖片的容器設定 position: relative,透過定位方式將圖片放入到容器中
  2. 記得圖片也要設定寬度與高度 100%,否則不會以外層容器為基準縮放
  3. 搭配 object-fit: cover; 避免圖片變形
.box{
width: 33%;
padding-bottom: 33%;
height: 0;
background: #000;
position: relative;
}

img{
width: 100%;
height: 100%;
position: absolute;
object-fit: cover;
}


希望看完這篇的你,都能順利在網頁上做出自由縮放的正方形!

若有錯誤歡迎指正,感謝看完這篇的大家。

留言
avatar-img
傑米的沙龍
8會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
你可能也想看
Thumbnail
UIEdgeInsets 是一個結構體,用來表示矩形的邊距。它通常在視圖佈局中使用,用於修改視圖的框架(frame)。邊距值可以是正數或負數,這會對矩形的大小產生不同的影響。 UIEdgeInsets 結構體 UIEdgeInsets 結構體包含四個屬性: top:矩形頂部的邊距 left:
Thumbnail
UIEdgeInsets 是一個結構體,用來表示矩形的邊距。它通常在視圖佈局中使用,用於修改視圖的框架(frame)。邊距值可以是正數或負數,這會對矩形的大小產生不同的影響。 UIEdgeInsets 結構體 UIEdgeInsets 結構體包含四個屬性: top:矩形頂部的邊距 left:
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這周KP分享的第二個概念是相對單位(relative units) ,使用上的陷阱與原則,以及如何應用它們來做Responsive Layout。
Thumbnail
這周KP分享的第二個概念是相對單位(relative units) ,使用上的陷阱與原則,以及如何應用它們來做Responsive Layout。
Thumbnail
在學習 CSS 的過程中,Padding 與 Margin 是兩個經常出現的名詞,但對於初學者來說,可能會有些難以理解。因此,本篇文章將解釋這兩個非常重要的 CSS 屬性。當你掌握後,便能設計出更具層次或易讀的網頁。
Thumbnail
在學習 CSS 的過程中,Padding 與 Margin 是兩個經常出現的名詞,但對於初學者來說,可能會有些難以理解。因此,本篇文章將解釋這兩個非常重要的 CSS 屬性。當你掌握後,便能設計出更具層次或易讀的網頁。
Thumbnail
排版微調 VOL.1-詳細解說版 排版微調是我社群的一個系列內容,這篇則是提供給訂閱會員的詳細解說版,會說明為何調整的原因跟我的看法,以及原本設計可能有的問題,如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因。
Thumbnail
排版微調 VOL.1-詳細解說版 排版微調是我社群的一個系列內容,這篇則是提供給訂閱會員的詳細解說版,會說明為何調整的原因跟我的看法,以及原本設計可能有的問題,如果你是設計初學者那這份內容會很適合你,因為會很細節的去講解排版原因。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
隨機不重疊的圓形 | p5.js 變化版,dist() 除了用來判斷兩個圓是否重疊,也可以拿來判斷滑鼠在哪個圓內。
Thumbnail
隨機不重疊的圓形 | p5.js 變化版,dist() 除了用來判斷兩個圓是否重疊,也可以拿來判斷滑鼠在哪個圓內。
Thumbnail
在上一篇文章-跟著KP用21天征服Responsive Layout-W2-Flexbox基礎-flex-item的伸縮 。我們提到了flex-item的width會由自身的內容長度決定。這其實是件很不可控的事情,所以我們在開發上會傾向於對flex-item設置width。 flex-item
Thumbnail
在上一篇文章-跟著KP用21天征服Responsive Layout-W2-Flexbox基礎-flex-item的伸縮 。我們提到了flex-item的width會由自身的內容長度決定。這其實是件很不可控的事情,所以我們在開發上會傾向於對flex-item設置width。 flex-item
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
網友看了EXCEL小知識 | 如何讓EXCEL的文字轉90度躺下來這篇教學後提出了一個問題。 💬請問能讓中文是直的,數字是橫的嗎?直式標準信封的文字格式 中文是直的,數字是橫,應該是長這樣子 【📝圖文教學】 《文字
Thumbnail
網友看了EXCEL小知識 | 如何讓EXCEL的文字轉90度躺下來這篇教學後提出了一個問題。 💬請問能讓中文是直的,數字是橫的嗎?直式標準信封的文字格式 中文是直的,數字是橫,應該是長這樣子 【📝圖文教學】 《文字
Thumbnail
CSS 裡的「寬度,最大寬度,最小寬度」分別是什麼呢? ➊ width 用來設定元素的寬度,且 width 作用範圍僅在 content-box 區塊 ➋ max-width → 用來設定元素的最大寬度 ➌ min-width → 用來設定元素的最小寬度
Thumbnail
CSS 裡的「寬度,最大寬度,最小寬度」分別是什麼呢? ➊ width 用來設定元素的寬度,且 width 作用範圍僅在 content-box 區塊 ➋ max-width → 用來設定元素的最大寬度 ➌ min-width → 用來設定元素的最小寬度
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News