前端CSS Grid 布局示例詳解
CSS Grid 布局詳解(通俗易懂版)
一、概述
CSS Grid 是一種二維布局系統(tǒng),可以同時(shí)控制行和列,相比 Flex(一維布局),更適合用在整體頁(yè)面布局或復(fù)雜模塊結(jié)構(gòu)中。
二、基礎(chǔ)概念
- Grid 容器(Container):設(shè)置
display: grid的元素。 - Grid 項(xiàng)目(Item):容器中的直接子元素。
- 軌道(Track):行或列。
- 單元格(Cell):行列交叉的區(qū)域。
- 網(wǎng)格線(Line):行或列的邊界,編號(hào)從 1 開(kāi)始。
三、創(chuàng)建 Grid 容器
.container {
display: grid;
}四、定義網(wǎng)格行和列
.container {
grid-template-columns: 100px 1fr 2fr;
grid-template-rows: 50px auto;
}grid-template-columns/rows 用于定義列/行的數(shù)量與寬度
px:固定寬度fr:按比例分配空間(如1fr)auto:根據(jù)內(nèi)容自動(dòng)撐開(kāi)
示例解釋:定義了 3 列(100px、1 份、2 份)和 2 行(第一行固定 50px,第二行自動(dòng)撐開(kāi))。
五、設(shè)置行列間距
grid-column-gap: 10px; grid-row-gap: 20px; /* 簡(jiǎn)寫(xiě)形式 */ gap: 20px 10px; /* row-gap column-gap */
六、項(xiàng)目在網(wǎng)格中的定位
.item {
grid-column: 1 / 3; /* 跨兩列:第1列開(kāi)始,第3列前結(jié)束 */
grid-row: 1 / 2; /* 跨一行 */
}說(shuō)明:類(lèi)似在 Excel 中選擇 A1 到 B1。
七、自動(dòng)填充與自適應(yīng)布局
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
repeat():重復(fù)列auto-fill:盡可能多地填充minmax():定義最小最大寬度
效果:列寬至少 150px,寬度不夠就自動(dòng)換行,適合響應(yīng)式布局。
八、對(duì)齊方式
1. 控制單元格內(nèi)項(xiàng)目對(duì)齊
justify-items: start | end | center | stretch; align-items: start | end | center | stretch;
justify-items:水平方向?qū)Ralign-items:垂直方向?qū)R
2. 控制整個(gè)網(wǎng)格在容器中對(duì)齊
justify-content: start | center | end | space-between | space-around | space-evenly; align-content: start | center | end | stretch;
九、命名區(qū)域(語(yǔ)義化布局)
.container {
display: grid;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
grid-template-columns: 200px 1fr;
grid-template-rows: auto 1fr auto;
}
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.footer { grid-area: footer; }說(shuō)明:使用區(qū)域名定義布局結(jié)構(gòu),清晰直觀、語(yǔ)義明確。
十、grid 簡(jiǎn)寫(xiě)寫(xiě)法
grid: auto / 100px 1fr 1fr; /* 等價(jià)于: grid-template-rows: auto; grid-template-columns: 100px 1fr 1fr; */
十一、常用屬性速查表
| 屬性名 | 說(shuō)明 |
|---|---|
display: grid | 開(kāi)啟 Grid 布局 |
grid-template-columns | 定義列寬 |
grid-template-rows | 定義行高 |
grid-column | 控制項(xiàng)目跨列范圍 |
grid-row | 控制項(xiàng)目跨行范圍 |
gap / row-gap / column-gap | 設(shè)置網(wǎng)格間距 |
grid-area | 命名區(qū)域 |
justify-items / align-items | 控制格子內(nèi)項(xiàng)目對(duì)齊方式 |
justify-content / align-content | 控制整個(gè)網(wǎng)格對(duì)齊方式 |
十二、總結(jié)
- Grid 是一種強(qiáng)大而靈活的二維布局系統(tǒng)。
- 通過(guò)
grid-template-*系列屬性可精確控制行列數(shù)量和尺寸。 - 使用
fr單位和auto-fill可輕松實(shí)現(xiàn)響應(yīng)式。 - 命名區(qū)域提升語(yǔ)義性和可維護(hù)性。
到此這篇關(guān)于前端CSS Grid 布局詳解的文章就介紹到這了,更多相關(guān)CSS Grid 布局內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

CSS3打造的現(xiàn)代交互式登錄界面詳細(xì)實(shí)現(xiàn)過(guò)程
本文介紹CSS3和jQuery在登錄界面設(shè)計(jì)中的應(yīng)用,涵蓋動(dòng)畫(huà)、選擇器、自定義字體及盒模型技術(shù),提升界面美觀與交互性,同時(shí)優(yōu)化性能和可訪問(wèn)性,感興趣的朋友跟隨小編一起看看吧2025-06-20CSS普通流、浮動(dòng)與定位網(wǎng)頁(yè)布局三大機(jī)制及最佳實(shí)踐
本文給大家講解CSS 的三種核心布局機(jī)制——普通流(Normal Flow)、浮動(dòng)(Float)和定位(Positioning)對(duì)于創(chuàng)建靈活、響應(yīng)式的網(wǎng)頁(yè)至關(guān)重要,本文將深入探討這三種機(jī)制的工作原2025-06-19
css實(shí)現(xiàn)角標(biāo)效果并帶有文章或圖標(biāo)效果(完整代碼)
文章介紹如何用CSS實(shí)現(xiàn)角標(biāo)效果,通過(guò).active類(lèi)結(jié)合::after和::before偽元素,利用定位、邊框和旋轉(zhuǎn)創(chuàng)建紅色邊框與白色三角形的提示標(biāo)志,適用于按鈕或卡片元素的視覺(jué)增強(qiáng)設(shè)計(jì)2025-06-19CSS Anchor Positioning重新定義錨點(diǎn)定位的時(shí)代來(lái)臨(最新推薦)
CSS Anchor Positioning是一項(xiàng)仍在草案中的新特性,由 Chrome 125 開(kāi)始提供原生支持需啟用實(shí)驗(yàn) flag,它允許你在 CSS 中通過(guò)錨點(diǎn)(anchor)來(lái)相對(duì)于任意 DOM 元素定位,本文2025-06-17CSS中的Static、Relative、Absolute、Fixed、Sticky的應(yīng)用與詳細(xì)對(duì)比
CSS 中的 position 屬性用于控制元素的定位方式,不同的定位方式會(huì)影響元素在頁(yè)面中的布局和層疊關(guān)系,以下是 static、relative、absolute、fixed、sticky 的詳細(xì)對(duì)比和應(yīng)用2025-06-17CSS place-items: center解析與用法詳解
place-items: center; 是一個(gè)強(qiáng)大的 CSS 簡(jiǎn)寫(xiě)屬性,用于同時(shí)控制 網(wǎng)格(Grid) 和 彈性盒(Flexbox) 布局中的對(duì)齊方式,本文給大家介紹CSS place-items: center; 詳解與用法2025-06-17
CSS實(shí)現(xiàn)元素?fù)螡M剩余空間的五種方法
在日常開(kāi)發(fā)中,我們經(jīng)常需要讓某個(gè)元素占據(jù)容器的剩余空間,本文將介紹5種不同的方法來(lái)實(shí)現(xiàn)這個(gè)需求,并分析各種方法的優(yōu)缺點(diǎn),感興趣的朋友一起看看吧2025-06-17CSS中前端單位 px、vw、vh 等的區(qū)別與使用建議
CSS單位區(qū)別與使用場(chǎng)景總結(jié):px絕對(duì)、vw/vh響應(yīng)式,%繼承父尺寸,em/rem文字縮放,vmin/vmax適應(yīng)寬高變化,固定布局用px或%,響應(yīng)式布局用vw/vh/rem,文字用em或rem,本文給大家2025-06-16CSS 樣式表的四種應(yīng)用方式及css注釋的應(yīng)用小結(jié)
這篇文章主要介紹了CSS 樣式表的四種應(yīng)用方式及css注釋的應(yīng)用小結(jié),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2025-05-21CSS中padding基本概念及簡(jiǎn)單寫(xiě)法
在CSS布局中,padding屬性是控制元素內(nèi)容與其邊框之間距離的關(guān)鍵工具,本文介紹CSS基礎(chǔ)中padding,通過(guò)本文的介紹,我們深入了解了padding的基本概念、簡(jiǎn)寫(xiě)方法以及它對(duì)元2025-05-16




