具有等高正方形的響應式網格佈局
簡介
創建具有響應式正方形的網格佈局可能是一個挑戰,尤其是在嘗試維護時正方形之間的高度和間距相等。雖然 CSS Grid 和 Flexbox 都可以用於此目的,但本文將探討如何使用 CSS Grid 和「padding-bottom」技巧來實現此目的。
設定高度等於寬度
使用CSS 網格
要使用CSS 網格將正方形的高度設定為其寬度,請套用「padding -bottom」技巧,它創建一個保持正方形長寬比的偽元素。可以套用以下 CSS 規則:
.square-container { display: grid; grid-template-columns: 30% 30% 30%; } .square { position: relative; flex-basis: calc(33.333% - 10px); /* Subtract 10px for margin */ margin: 5px; border: 1px solid; box-sizing: border-box; } .square::before { content: ''; display: block; padding-top: 100%; /* Sets height equal to width */ }
這可確保無論內容是什麼,正方形都保持正方形。
使用Flexbox
要使用Flexbox達到相同的效果,可以採用類似的方法使用:
.square-container { display: flex; flex-wrap: wrap; } .square { position: relative; flex-basis: calc(33.333% - 10px); /* Subtract 10px for margin */ margin: 5px; border: 1px solid; box-sizing: border-box; } .square::before { content: ''; display: block; padding-top: 100%; /* Sets height equal to width */ } .square .content { position: absolute; top: 0; left: 0; height: 100%; width: 100%; }
在Flexbox 中,content 屬性用於將方塊的內容絕對定位在其中。
設定方塊之間的裝訂線
「padding-bottom」技巧也可用於在方塊之間建立排水溝:
.square-container { gap: 10px; /* Set the gap between squares */ }
這會添加10px每個方塊之間的間隙。
響應行為
要使佈局響應,可以使用媒體查詢將網格佈局更改為單列,以適應較小的屏幕尺寸:
@media (max-width: 600px) { .square-container { grid-template-columns: 100%; } }
這確保了正方形在窄螢幕上垂直堆疊。
結論
作者使用「padding-bottom」技巧,CSS Grid 和 Flexbox 都可用於建立響應式網格佈局,其中具有等高的正方形和間距。該技術被廣泛使用,並為這種常見的佈局要求提供了可靠的解決方案。
以上是如何使用 CSS Grid 和 Flexbox 建立具有等高正方形的響應式網格佈局?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在本週的綜述中:datepickers正在讓鍵盤用戶頭痛,一個新的Web組件編譯器,有助於與Fouc進行戰鬥,我們終於獲得了造型列表項目標記,以及在您的網站上獲得網絡攻擊的四個步驟。

在本週的Web平台新聞世界中,Google搜索控制台可以更輕鬆地查看爬行的標記,我們了解到自定義屬性


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

禪工作室 13.0.1
強大的PHP整合開發環境