阮一峰Grid總結(jié)

一寡痰、概述

網(wǎng)格布局(Grid)是最強(qiáng)大的 CSS 布局方案朋鞍。

它將網(wǎng)頁(yè)劃分成一個(gè)個(gè)網(wǎng)格,可以任意組合不同的網(wǎng)格朝巫,做出各種各樣的布局鸿摇。以前,只能通過復(fù)雜的 CSS 框架達(dá)到的效果劈猿,現(xiàn)在瀏覽器內(nèi)置了拙吉。

上圖這樣的布局潮孽,就是 Grid 布局的拿手好戲。

Grid 布局與?Flex 布局有一定的相似性筷黔,都可以指定容器內(nèi)部多個(gè)項(xiàng)目的位置往史。但是,它們也存在重大區(qū)別佛舱。

Flex 布局是軸線布局椎例,只能指定"項(xiàng)目"針對(duì)軸線的位置,可以看作是一維布局名眉。Grid 布局則是將容器劃分成"行"和"列"粟矿,產(chǎn)生單元格,然后指定"項(xiàng)目所在"的單元格损拢,可以看作是二維布局陌粹。Grid 布局遠(yuǎn)比 Flex 布局強(qiáng)大。

二福压、基本概念

學(xué)習(xí) Grid 布局之前掏秩,需要了解一些基本概念。

2.1 容器和項(xiàng)目

采用網(wǎng)格布局的區(qū)域荆姆,稱為"容器"(container)蒙幻。容器內(nèi)部采用網(wǎng)格定位的子元素,稱為"項(xiàng)目"(item)胆筒。

<div><div><p>1</p></div><div><p>2</p></div><div><p>3</p></div></div>

上面代碼中邮破,最外層的<div>元素就是容器,內(nèi)層的三個(gè)<div>元素就是項(xiàng)目仆救。

注意:項(xiàng)目只能是容器的頂層子元素抒和,不包含項(xiàng)目的子元素,比如上面代碼的<p>元素就不是項(xiàng)目彤蔽。Grid 布局只對(duì)項(xiàng)目生效摧莽。

2.2 行和列

容器里面的水平區(qū)域稱為"行"(row),垂直區(qū)域稱為"列"(column)顿痪。

上圖中镊辕,水平的深色區(qū)域就是"行",垂直的深色區(qū)域就是"列"蚁袭。

2.3 單元格

行和列的交叉區(qū)域征懈,稱為"單元格"(cell)。

正常情況下揩悄,n行和m列會(huì)產(chǎn)生n x m個(gè)單元格受裹。比如,3行3列會(huì)產(chǎn)生9個(gè)單元格。

2.4 網(wǎng)格線

劃分網(wǎng)格的線棉饶,稱為"網(wǎng)格線"(grid line)。水平網(wǎng)格線劃分出行镇匀,垂直網(wǎng)格線劃分出列照藻。

正常情況下,n行有n + 1根水平網(wǎng)格線汗侵,m列有m + 1根垂直網(wǎng)格線幸缕,比如三行就有四根水平網(wǎng)格線。

上圖是一個(gè) 4 x 4 的網(wǎng)格晰韵,共有5根水平網(wǎng)格線和5根垂直網(wǎng)格線发乔。

三、容器屬性

Grid 布局的屬性分成兩類雪猪。一類定義在容器上面栏尚,稱為容器屬性;另一類定義在項(xiàng)目上面只恨,稱為項(xiàng)目屬性译仗。這部分先介紹容器屬性。

3.1 display 屬性

display: grid指定一個(gè)容器采用網(wǎng)格布局官觅。

div {display:grid;}

上圖是display: grid的效果纵菌。

默認(rèn)情況下,容器元素都是塊級(jí)元素休涤,但也可以設(shè)成行內(nèi)元素咱圆。

div {display:inline-grid;}

上面代碼指定div是一個(gè)行內(nèi)元素,該元素內(nèi)部采用網(wǎng)格布局功氨。

上圖是display: inline-grid的效果序苏。

注意,設(shè)為網(wǎng)格布局以后疑故,容器子元素(項(xiàng)目)的float杠览、display: inline-block、display: table-cell纵势、vertical-align和column-*等設(shè)置都將失效踱阿。

3.2

grid-template-columns 屬性,

grid-template-rows 屬性

容器指定了網(wǎng)格布局以后钦铁,接著就要?jiǎng)澐中泻土腥砩唷rid-template-columns屬性定義每一列的列寬,grid-template-rows屬性定義每一行的行高牛曹。

.container {display:grid;grid-template-columns:100px 100px 100px;grid-template-rows:100px 100px 100px;}

上面代碼指定了一個(gè)三行三列的網(wǎng)格佛点,列寬和行高都是100px。

除了使用絕對(duì)單位,也可以使用百分比超营。

.container {display:grid;grid-template-columns:33.33% 33.33% 33.33%;grid-template-rows:33.33% 33.33% 33.33%;}

(1)repeat()

有時(shí)候鸳玩,重復(fù)寫同樣的值非常麻煩,尤其網(wǎng)格很多時(shí)演闭。這時(shí)不跟,可以使用repeat()函數(shù),簡(jiǎn)化重復(fù)的值米碰。上面的代碼用repeat()改寫如下窝革。

.container {display:grid;grid-template-columns:repeat(3, 33.33%);grid-template-rows:repeat(3, 33.33%);}

repeat()接受兩個(gè)參數(shù),第一個(gè)參數(shù)是重復(fù)的次數(shù)(上例是3)吕座,第二個(gè)參數(shù)是所要重復(fù)的值虐译。

repeat()重復(fù)某種模式也是可以的。

grid-template-columns:repeat(2, 100px 20px 80px);

上面代碼定義了6列吴趴,第一列和第四列的寬度為100px漆诽,第二列和第五列為20px,第三列和第六列為80px史侣。

(2)auto-fill 關(guān)鍵字

有時(shí)拴泌,單元格的大小是固定的,但是容器的大小不確定惊橱。如果希望每一行(或每一列)容納盡可能多的單元格蚪腐,這時(shí)可以使用auto-fill關(guān)鍵字表示自動(dòng)填充。

.container {display:grid;grid-template-columns:repeat(auto-fill, 100px);}

上面代碼表示每列寬度100px税朴,然后自動(dòng)填充回季,直到容器不能放置更多的列。

(3)fr 關(guān)鍵字

為了方便表示比例關(guān)系正林,網(wǎng)格布局提供了fr關(guān)鍵字(fraction 的縮寫泡一,意為"片段")。如果兩列的寬度分別為1fr和2fr觅廓,就表示后者是前者的兩倍鼻忠。

.container {display:grid;grid-template-columns:1fr 1fr;}

上面代碼表示兩個(gè)相同寬度的列。

fr可以與絕對(duì)長(zhǎng)度的單位結(jié)合使用杈绸,這時(shí)會(huì)非常方便帖蔓。

.container {display:grid;grid-template-columns:150px 1fr 2fr;}

上面代碼表示,第一列的寬度為150像素瞳脓,第二列的寬度是第三列的一半塑娇。

(4)minmax()

minmax()函數(shù)產(chǎn)生一個(gè)長(zhǎng)度范圍,表示長(zhǎng)度就在這個(gè)范圍之中劫侧。它接受兩個(gè)參數(shù)埋酬,分別為最小值和最大值哨啃。

grid-template-columns:1fr 1fr minmax(100px, 1fr);

上面代碼中,minmax(100px, 1fr)表示列寬不小于100px写妥,不大于1fr拳球。

(5)auto 關(guān)鍵字

auto關(guān)鍵字表示由瀏覽器自己決定長(zhǎng)度。

grid-template-columns:100px auto 100px;

上面代碼中耳标,第二列的寬度醇坝,基本上等于該列單元格的最大寬度,除非單元格內(nèi)容設(shè)置了min-width次坡,且這個(gè)值大于最大寬度。

(6)網(wǎng)格線的名稱

grid-template-columns屬性和grid-template-rows屬性里面画畅,還可以使用方括號(hào)砸琅,指定每一根網(wǎng)格線的名字,方便以后的引用轴踱。

.container {display:grid;grid-template-columns:[c1] 100px [c2] 100px [c3] auto [c4];grid-template-rows:[r1] 100px [r2] 100px [r3] auto [r4];}

上面代碼指定網(wǎng)格布局為3行 x 3列症脂,因此有4根垂直網(wǎng)格線和4根水平網(wǎng)格線。方括號(hào)里面依次是這八根線的名字淫僻。

網(wǎng)格布局允許同一根線有多個(gè)名字诱篷,比如[fifth-line row-5]。

(7)布局實(shí)例

grid-template-columns屬性對(duì)于網(wǎng)頁(yè)布局非常有用雳灵。兩欄式布局只需要一行代碼棕所。

.wrapper {display:grid;grid-template-columns:70% 30%;}

上面代碼將左邊欄設(shè)為70%,右邊欄設(shè)為30%悯辙。

傳統(tǒng)的十二網(wǎng)格布局琳省,寫起來(lái)也很容易。

grid-template-columns:repeat(12, 1fr);

3.3

grid-row-gap 屬性躲撰,

grid-column-gap 屬性针贬,

grid-gap 屬性

grid-row-gap屬性設(shè)置行與行的間隔(行間距),grid-column-gap屬性設(shè)置列與列的間隔(列間距)拢蛋。

.container {grid-row-gap:20px;grid-column-gap:20px;}

上面代碼中桦他,grid-row-gap用于設(shè)置行間距,grid-column-gap用于設(shè)置列間距谆棱。

grid-gap屬性是grid-column-gap和grid-row-gap的合并簡(jiǎn)寫形式快压,語(yǔ)法如下。

grid-gap:<grid-row-gap><grid-column-gap>;

因此础锐,上面一段 CSS 代碼等同于下面的代碼嗓节。

.container {grid-gap:20px 20px;}

如果grid-gap省略了第二個(gè)值,瀏覽器認(rèn)為第二個(gè)值等于第一個(gè)值皆警。

根據(jù)最新標(biāo)準(zhǔn)拦宣,上面三個(gè)屬性名的grid-前綴已經(jīng)刪除,grid-column-gap和grid-row-gap寫成column-gap和row-gap,grid-gap寫成gap鸵隧。

3.4 grid-template-areas 屬性

網(wǎng)格布局允許指定"區(qū)域"(area)绸罗,一個(gè)區(qū)域由單個(gè)或多個(gè)單元格組成。grid-template-areas屬性用于定義區(qū)域豆瘫。

.container {display:grid;grid-template-columns:100px 100px 100px;grid-template-rows:100px 100px 100px;grid-template-areas:'a b c''d e f''g h i';}

上面代碼先劃分出9個(gè)單元格珊蟀,然后將其定名為a到i的九個(gè)區(qū)域,分別對(duì)應(yīng)這九個(gè)單元格外驱。

多個(gè)單元格合并成一個(gè)區(qū)域的寫法如下育灸。

grid-template-areas:'a a a''b b b''c c c';

上面代碼將9個(gè)單元格分成a、b昵宇、c三個(gè)區(qū)域磅崭。

下面是一個(gè)布局實(shí)例。

grid-template-areas:"header header header""main main sidebar""footer footer footer";

上面代碼中瓦哎,頂部是頁(yè)眉區(qū)域header砸喻,底部是頁(yè)腳區(qū)域footer,中間部分則為main和sidebar蒋譬。

如果某些區(qū)域不需要利用割岛,則使用"點(diǎn)"(.)表示。

grid-template-areas:'a . c''d . f''g . i';

上面代碼中犯助,中間一列為點(diǎn)癣漆,表示沒有用到該單元格,或者該單元格不屬于任何區(qū)域也切。

注意扑媚,區(qū)域的命名會(huì)影響到網(wǎng)格線。每個(gè)區(qū)域的起始網(wǎng)格線雷恃,會(huì)自動(dòng)命名為區(qū)域名-start疆股,終止網(wǎng)格線自動(dòng)命名為區(qū)域名-end。

比如倒槐,區(qū)域名為header旬痹,則起始位置的水平網(wǎng)格線和垂直網(wǎng)格線叫做header-start,終止位置的水平網(wǎng)格線和垂直網(wǎng)格線叫做header-end讨越。

3.5 grid-auto-flow 屬性

劃分網(wǎng)格以后两残,容器的子元素會(huì)按照順序,自動(dòng)放置在每一個(gè)網(wǎng)格把跨。默認(rèn)的放置順序是"先行后列"人弓,即先填滿第一行,再開始放入第二行着逐,即下圖數(shù)字的順序崔赌。

這個(gè)順序由grid-auto-flow屬性決定意蛀,默認(rèn)值是row,即"先行后列"健芭。也可以將它設(shè)成column县钥,變成"先列后行"。

grid-auto-flow:column;

上面代碼設(shè)置了column以后慈迈,放置順序就變成了下圖若贮。

grid-auto-flow屬性除了設(shè)置成row和column,還可以設(shè)成row dense和column dense痒留。這兩個(gè)值主要用于谴麦,某些項(xiàng)目指定位置以后,剩下的項(xiàng)目怎么自動(dòng)放置伸头。

下面的例子讓1號(hào)項(xiàng)目和2號(hào)項(xiàng)目各占據(jù)兩個(gè)單元格细移,然后在默認(rèn)的grid-auto-flow: row情況下,會(huì)產(chǎn)生下面這樣的布局熊锭。

上圖中,1號(hào)項(xiàng)目后面的位置是空的雪侥,這是因?yàn)?號(hào)項(xiàng)目默認(rèn)跟著2號(hào)項(xiàng)目碗殷,所以會(huì)排在2號(hào)項(xiàng)目后面。

現(xiàn)在修改設(shè)置速缨,設(shè)為row dense锌妻,表示"先行后列",并且盡可能緊密填滿旬牲,盡量不出現(xiàn)空格仿粹。

grid-auto-flow:row dense;

上面代碼的效果如下。

上圖會(huì)先填滿第一行原茅,再填滿第二行吭历,所以3號(hào)項(xiàng)目就會(huì)緊跟在1號(hào)項(xiàng)目的后面。8號(hào)項(xiàng)目和9號(hào)項(xiàng)目就會(huì)排到第四行擂橘。

如果將設(shè)置改為column dense晌区,表示"先列后行",并且盡量填滿空格通贞。

grid-auto-flow:column dense;

上面代碼的效果如下朗若。

上圖會(huì)先填滿第一列,再填滿第2列昌罩,所以3號(hào)項(xiàng)目在第一列哭懈,4號(hào)項(xiàng)目在第二列。8號(hào)項(xiàng)目和9號(hào)項(xiàng)目被擠到了第四列茎用。

3.6

justify-items 屬性遣总,

align-items 屬性睬罗,

place-items 屬性

justify-items屬性設(shè)置單元格內(nèi)容的水平位置(左中右),align-items屬性設(shè)置單元格內(nèi)容的垂直位置(上中下)彤避。

.container {justify-items:start | end | center | stretch;align-items:start | end | center | stretch;}

這兩個(gè)屬性的寫法完全相同傅物,都可以取下面這些值。

start:對(duì)齊單元格的起始邊緣琉预。

end:對(duì)齊單元格的結(jié)束邊緣董饰。

center:?jiǎn)卧駜?nèi)部居中。

stretch:拉伸圆米,占滿單元格的整個(gè)寬度(默認(rèn)值)卒暂。

.container {justify-items:start;}

上面代碼表示,單元格的內(nèi)容左對(duì)齊娄帖,效果如下圖也祠。

.container {align-items:start;}

上面代碼表示,單元格的內(nèi)容頭部對(duì)齊近速,效果如下圖诈嘿。

place-items屬性是align-items屬性和justify-items屬性的合并簡(jiǎn)寫形式。

place-items:<align-items><justify-items>;

下面是一個(gè)例子削葱。

place-items:start end;

如果省略第二個(gè)值奖亚,則瀏覽器認(rèn)為與第一個(gè)值相等。

3.7

justify-content 屬性析砸,

align-content 屬性昔字,

place-content 屬性

justify-content屬性是整個(gè)內(nèi)容區(qū)域在容器里面的水平位置(左中右),align-content屬性是整個(gè)內(nèi)容區(qū)域的垂直位置(上中下)首繁。

.container {justify-content:start | end | center | stretch | space-around | space-between | space-evenly;align-content:start | end | center | stretch | space-around | space-between | space-evenly;}

這兩個(gè)屬性的寫法完全相同作郭,都可以取下面這些值。(下面的圖都以justify-content屬性為例弦疮,align-content屬性的圖完全一樣夹攒,只是將水平方向改成垂直方向。)

start - 對(duì)齊容器的起始邊框挂捅。

end - 對(duì)齊容器的結(jié)束邊框芹助。

center - 容器內(nèi)部居中。

stretch - 項(xiàng)目大小沒有指定時(shí)闲先,拉伸占據(jù)整個(gè)網(wǎng)格容器状土。

space-around - 每個(gè)項(xiàng)目?jī)蓚?cè)的間隔相等。所以伺糠,項(xiàng)目之間的間隔比項(xiàng)目與容器邊框的間隔大一倍蒙谓。

space-between - 項(xiàng)目與項(xiàng)目的間隔相等,項(xiàng)目與容器邊框之間沒有間隔训桶。

space-evenly - 項(xiàng)目與項(xiàng)目的間隔相等累驮,項(xiàng)目與容器邊框之間也是同樣長(zhǎng)度的間隔酣倾。

place-content屬性是align-content屬性和justify-content屬性的合并簡(jiǎn)寫形式。

place-content:<align-content><justify-content>

下面是一個(gè)例子谤专。

place-content:space-around space-evenly;

如果省略第二個(gè)值躁锡,瀏覽器就會(huì)假定第二個(gè)值等于第一個(gè)值。

3.8

grid-auto-columns 屬性置侍,

grid-auto-rows 屬性

有時(shí)候映之,一些項(xiàng)目的指定位置,在現(xiàn)有網(wǎng)格的外部蜡坊。比如網(wǎng)格只有3列杠输,但是某一個(gè)項(xiàng)目指定在第5行。這時(shí)秕衙,瀏覽器會(huì)自動(dòng)生成多余的網(wǎng)格蠢甲,以便放置項(xiàng)目。

grid-auto-columns屬性和grid-auto-rows屬性用來(lái)設(shè)置据忘,瀏覽器自動(dòng)創(chuàng)建的多余網(wǎng)格的列寬和行高鹦牛。它們的寫法與grid-template-columns和grid-template-rows完全相同。如果不指定這兩個(gè)屬性勇吊,瀏覽器完全根據(jù)單元格內(nèi)容的大小能岩,決定新增網(wǎng)格的列寬和行高。

下面的例子里面萧福,劃分好的網(wǎng)格是3行 x 3列,但是辈赋,8號(hào)項(xiàng)目指定在第4行鲫忍,9號(hào)項(xiàng)目指定在第5行。

.container {display:grid;grid-template-columns:100px 100px 100px;grid-template-rows:100px 100px 100px;grid-auto-rows:50px;}

上面代碼指定新增的行高統(tǒng)一為50px(原始的行高為100px)钥屈。

3.9

grid-template 屬性悟民,

grid 屬性

grid-template屬性是grid-template-columns、grid-template-rows和grid-template-areas這三個(gè)屬性的合并簡(jiǎn)寫形式助析。

grid屬性是grid-template-rows辨萍、grid-template-columns莽红、grid-template-areas、?grid-auto-rows智润、grid-auto-columns、grid-auto-flow這六個(gè)屬性的合并簡(jiǎn)寫形式未辆。

從易讀易寫的角度考慮窟绷,還是建議不要合并屬性,所以這里就不詳細(xì)介紹這兩個(gè)屬性了咐柜。

四兼蜈、項(xiàng)目屬性

下面這些屬性定義在項(xiàng)目上面攘残。

4.1

grid-column-start 屬性,

grid-column-end 屬性为狸,

grid-row-start 屬性歼郭,

grid-row-end 屬性

項(xiàng)目的位置是可以指定的,具體方法就是指定項(xiàng)目的四個(gè)邊框辐棒,分別定位在哪根網(wǎng)格線病曾。

grid-column-start屬性:左邊框所在的垂直網(wǎng)格線

grid-column-end屬性:右邊框所在的垂直網(wǎng)格線

grid-row-start屬性:上邊框所在的水平網(wǎng)格線

grid-row-end屬性:下邊框所在的水平網(wǎng)格線

.item-1 {grid-column-start:2;grid-column-end:4;}

上面代碼指定,1號(hào)項(xiàng)目的左邊框是第二根垂直網(wǎng)格線涉瘾,右邊框是第四根垂直網(wǎng)格線知态。

上圖中,只指定了1號(hào)項(xiàng)目的左右邊框立叛,沒有指定上下邊框负敏,所以會(huì)采用默認(rèn)位置,即上邊框是第一根水平網(wǎng)格線秘蛇,下邊框是第二根水平網(wǎng)格線其做。

除了1號(hào)項(xiàng)目以外,其他項(xiàng)目都沒有指定位置赁还,由瀏覽器自動(dòng)布局妖泄,這時(shí)它們的位置由容器的grid-auto-flow屬性決定,這個(gè)屬性的默認(rèn)值是row艘策,因此會(huì)"先行后列"進(jìn)行排列蹈胡。讀者可以把這個(gè)屬性的值分別改成column、row dense和column dense朋蔫,看看其他項(xiàng)目的位置發(fā)生了怎樣的變化罚渐。

下面的例子是指定四個(gè)邊框位置的效果。

.item-1 {grid-column-start:1;grid-column-end:3;grid-row-start:2;grid-row-end:4;}

這四個(gè)屬性的值驯妄,除了指定為第幾個(gè)網(wǎng)格線荷并,還可以指定為網(wǎng)格線的名字。

.item-1 {grid-column-start:header-start;grid-column-end:header-end;}

上面代碼中青扔,左邊框和右邊框的位置源织,都指定為網(wǎng)格線的名字。

這四個(gè)屬性的值還可以使用span關(guān)鍵字微猖,表示"跨越"谈息,即左右邊框(上下邊框)之間跨越多少個(gè)網(wǎng)格。

.item-1 {grid-column-start:span 2;}

上面代碼表示凛剥,1號(hào)項(xiàng)目的左邊框距離右邊框跨越2個(gè)網(wǎng)格黎茎。

這與下面的代碼效果完全一樣。

.item-1 {grid-column-end:span 2;}

使用這四個(gè)屬性当悔,如果產(chǎn)生了項(xiàng)目的重疊傅瞻,則使用z-index屬性指定項(xiàng)目的重疊順序踢代。

4.2

grid-column 屬性,

grid-row 屬性

grid-column屬性是grid-column-start和grid-column-end的合并簡(jiǎn)寫形式嗅骄,grid-row屬性是grid-row-start屬性和grid-row-end的合并簡(jiǎn)寫形式胳挎。

.item {grid-column:/;grid-row:/;}

下面是一個(gè)例子。

.item-1 {grid-column:1 / 3;grid-row:1 / 2;}/* 等同于 */.item-1 {grid-column-start:1;grid-column-end:3;grid-row-start:1;grid-row-end:2;}

上面代碼中溺森,項(xiàng)目item-1占據(jù)第一行慕爬,從第一根列線到第三根列線。

這兩個(gè)屬性之中屏积,也可以使用span關(guān)鍵字医窿,表示跨越多少個(gè)網(wǎng)格。

.item-1 {background:#b03532;grid-column:1 / 3;grid-row:1 / 3;}/* 等同于 */.item-1 {background:#b03532;grid-column:1 / span 2;grid-row:1 / span 2;}

上面代碼中炊林,項(xiàng)目item-1占據(jù)的區(qū)域姥卢,包括第一行 + 第二行、第一列 + 第二列渣聚。

斜杠以及后面的部分可以省略独榴,默認(rèn)跨越一個(gè)網(wǎng)格。

.item-1 {grid-column:1;grid-row:1;}

上面代碼中奕枝,項(xiàng)目item-1占據(jù)左上角第一個(gè)網(wǎng)格棺榔。

4.3 grid-area 屬性

grid-area屬性指定項(xiàng)目放在哪一個(gè)區(qū)域。

.item-1 {grid-area:e;}

上面代碼中隘道,1號(hào)項(xiàng)目位于e區(qū)域症歇,效果如下圖。

grid-area屬性還可用作grid-row-start谭梗、grid-column-start当船、grid-row-end、grid-column-end的合并簡(jiǎn)寫形式默辨,直接指定項(xiàng)目的位置。

.item {grid-area:<row-start> /<column-start> /<row-end> /<column-end>;}

下面是一個(gè)例子苍息。

.item-1 {grid-area:1 / 1 / 3 / 3;}

4.4

justify-self 屬性缩幸,

align-self 屬性,

place-self 屬性

justify-self屬性設(shè)置單元格內(nèi)容的水平位置(左中右)竞思,跟justify-items屬性的用法完全一致表谊,但只作用于單個(gè)項(xiàng)目。

align-self屬性設(shè)置單元格內(nèi)容的垂直位置(上中下)盖喷,跟align-items屬性的用法完全一致爆办,也是只作用于單個(gè)項(xiàng)目。

.item {justify-self:start | end | center | stretch;align-self:start | end | center | stretch;}

這兩個(gè)屬性都可以取下面四個(gè)值课梳。

start:對(duì)齊單元格的起始邊緣距辆。

end:對(duì)齊單元格的結(jié)束邊緣余佃。

center:?jiǎn)卧駜?nèi)部居中。

stretch:拉伸跨算,占滿單元格的整個(gè)寬度(默認(rèn)值)爆土。

下面是justify-self: start的例子。

.item-1? {justify-self:start;}

place-self屬性是align-self屬性和justify-self屬性的合并簡(jiǎn)寫形式诸蚕。

place-self:<align-self><justify-self>;

下面是一個(gè)例子步势。

place-self:center center;

如果省略第二個(gè)值,place-self屬性會(huì)認(rèn)為這兩個(gè)值相等背犯。


鏈接:http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html

來(lái)源:阮一峰

本鏈接源自阮一峰老師如有侵權(quán)請(qǐng)聯(lián)系我即使刪除

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末坏瘩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子漠魏,更是在濱河造成了極大的恐慌倔矾,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛉幸,死亡現(xiàn)場(chǎng)離奇詭異破讨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)奕纫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門提陶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人匹层,你說(shuō)我怎么就攤上這事隙笆。” “怎么了升筏?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵撑柔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我您访,道長(zhǎng)铅忿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任灵汪,我火速辦了婚禮檀训,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘享言。我一直安慰自己峻凫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布览露。 她就那樣靜靜地躺著荧琼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上命锄,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天堰乔,我揣著相機(jī)與錄音,去河邊找鬼累舷。 笑死浩考,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的被盈。 我是一名探鬼主播析孽,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼只怎!你這毒婦竟也來(lái)了袜瞬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤身堡,失蹤者是張志新(化名)和其女友劉穎邓尤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贴谎,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汞扎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了擅这。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澈魄。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仲翎,靈堂內(nèi)的尸體忽然破棺而出痹扇,到底是詐尸還是另有隱情,我是刑警寧澤溯香,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布鲫构,位于F島的核電站,受9級(jí)特大地震影響玫坛,放射性物質(zhì)發(fā)生泄漏结笨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一湿镀、第九天 我趴在偏房一處隱蔽的房頂上張望炕吸。 院中可真熱鬧,春花似錦肠骆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春莉钙,著一層夾襖步出監(jiān)牢的瞬間廓脆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工磁玉, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留停忿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓蚊伞,卻偏偏與公主長(zhǎng)得像席赂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子时迫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 網(wǎng)格線(Grid Line) 構(gòu)成網(wǎng)格結(jié)構(gòu)的分界線颅停。它們既可以是垂直的(“列網(wǎng)格線(column grid lin...
    晚溪呀閱讀 1,194評(píng)論 0 0
  • 轉(zhuǎn)載地址:https://www.cnblogs.com/xiaohuochai/p/7083153.html 前...
    One_Hund閱讀 1,324評(píng)論 0 1
  • CSS Grid(網(wǎng)格) 布局(又稱為 “Grid(網(wǎng)格)” ),是一個(gè)二維的基于網(wǎng)格的布局系統(tǒng)它的目標(biāo)是完全改變...
    諾CIUM閱讀 1,309評(píng)論 0 3
  • 本文仍舊轉(zhuǎn)載于阮一峰老師 一掠拳、概述 網(wǎng)格布局(Grid)是最強(qiáng)大的 CSS 布局方案癞揉。 它將網(wǎng)頁(yè)劃分成一個(gè)個(gè)網(wǎng)格,...
    blossom_綻放閱讀 513評(píng)論 0 0
  • 1溺欧、提交代碼: git status git commit -m "info" git push 2喊熟、刪除本地的分...
    青春前行閱讀 190評(píng)論 0 0