成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

【圖片版】CSS網(wǎng)格布局(Grid)完全教程

ddongjian0000 / 1068人閱讀

摘要:簡(jiǎn)言網(wǎng)格布局是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。例用屬性和定義網(wǎng)格,同時(shí)定義網(wǎng)格線名稱。例一組區(qū)域名稱要放在單引號(hào)或雙引號(hào)內(nèi),每一個(gè)名稱之間以空格分隔。例本例中,是通過(guò)隱式網(wǎng)

簡(jiǎn)言

CSS網(wǎng)格布局(Grid)是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。傳統(tǒng)的CSS頁(yè)面布局 一直不夠理想。包括table布局、浮動(dòng)、定位及內(nèi)聯(lián)塊等方式,從本質(zhì)上都是Hack的方式,并且遺漏了一些重要的功能(比如:垂直居中)。Flexbox的出現(xiàn)部分解決了上述問(wèn)題,但Flex布局是為了解決簡(jiǎn)單的一維布局,適用于頁(yè)面局部布局。而Grid天然就是為了解決復(fù)雜的二維布局而出現(xiàn)的,適用頁(yè)面的整體布局。在實(shí)際工作中,Grid和Flexbox不但不矛盾,而且還能很好的結(jié)合使用。做為WEB程序員,我們?cè)陧?yè)面布局問(wèn)題上都付出過(guò)努力,也將不斷探索新的方案。而Grid是第一個(gè)專門(mén)為布局問(wèn)題而生的CSS模塊,我們有理由對(duì)Grid充滿期待。

本文包括18個(gè)小節(jié),62個(gè)實(shí)例,完整閱讀需要時(shí)間20分鐘以上。

為了獲得最佳的閱體驗(yàn),可以訪問(wèn)如下格式的教程:

學(xué)習(xí)CSS網(wǎng)格

1 網(wǎng)格容器

將屬性 display 值設(shè)為 gridinline-grid 就創(chuàng)建了一個(gè)網(wǎng)格容器,所有容器直接子結(jié)點(diǎn)自動(dòng)成為網(wǎng)格項(xiàng)目。

1.1 例1
grid  {
    display: grid;
}

網(wǎng)格項(xiàng)目按行排列,網(wǎng)格項(xiàng)目占用整個(gè)容器的寬度。

演示程序

1.1 例2
grid  {
    display: inline-grid;
}

網(wǎng)格項(xiàng)目按行排列,網(wǎng)格項(xiàng)目寬度由自身寬度決定。

演示程序

2 顯示網(wǎng)格

屬性grid-template-rowsgrid-template-columns用于顯示定義網(wǎng)格,分別用于定義行軌道和列軌道。

2.1 例3
grid  {
    display: grid;
    grid-template-rows: 50px 100px;
}

屬性grid-template-rows用于定義行的尺寸,即軌道尺寸。軌道尺寸可以是任何非負(fù)的長(zhǎng)度值(px,%,em,等)

網(wǎng)格項(xiàng)目1的行高是50px,網(wǎng)格項(xiàng)目2的行高是100px。

因?yàn)橹欢x了兩個(gè)行高,網(wǎng)格項(xiàng)目3和4的行高取決于其本身的高度。

演示程序

2.2 例4
grid  {
    display: grid;
    grid-template-columns: 90px 50px 120px;
}

類似于行的定義,屬性grid-template-columns用于定義列的尺寸。

因?yàn)槎x中只有三列,所以項(xiàng)目4,5,6排在新的一行; 并因?yàn)樗鼈兾挥诘?,2,3列的軌道上,所以其寬度等于定義中第1,2,3列軌道的寬度。

網(wǎng)格項(xiàng)目的第1列,第2列,第3列的寬度分別是 90px, 50px 和 120px 。

演示程序

2.3 例5
grid  {
    display: grid;
    grid-template-columns: 1fr 1fr 2fr;
}

單位fr用于表示軌道尺寸配額,表示按配額比例分配可用空間。

本例中,項(xiàng)目1占 1/4 寬度,項(xiàng)目2占 1/4 寬度,項(xiàng)目3占 1/2 寬度。

演示程序

2.4 例6
grid  {
    display: grid;
    grid-template-columns: 3rem 25% 1fr 2fr;
}

單位fr和其它長(zhǎng)度單位混合使用時(shí),fr的計(jì)算基于其它單位分配后的剩余空間。

本例中,1fr = (容器寬度 - 3rem - 容器寬度的25%) / 3

演示程序

3 軌道的最小最大尺寸設(shè)置

函數(shù)minmax()用于定義軌道最小/最大邊界值。

3.1 例7
grid  {
    display: grid;
    grid-template-rows:    minmax(100px, auto);
    grid-template-columns: minmax(auto, 50%) 1fr 3em;
}

函數(shù)minmax()接收兩個(gè)參數(shù):第一個(gè)參數(shù)表示最小軌道尺寸,第二個(gè)參數(shù)表示最大軌道尺寸。長(zhǎng)度值可以是auto,表示軌道尺寸可以根據(jù)內(nèi)容大小進(jìn)行伸長(zhǎng)或收縮。

本例中,第一行最小高度設(shè)置成100px,但是最大高度設(shè)置成auto,表示行高可以根據(jù)內(nèi)容伸長(zhǎng)超過(guò)100px。

本例中,第一列寬度的最大值設(shè)置成50%,表示其寬度不能超過(guò)整個(gè)容器寬度的50%。

演示程序

4 重復(fù)的網(wǎng)格軌道

函數(shù)repeat()用來(lái)定義重復(fù)的網(wǎng)格軌道,尤其適用于有多個(gè)相同項(xiàng)目的情況下。

4.1 例8
grid  {
    display: grid;
    grid-template-rows:    repeat(4, 100px);
    grid-template-columns: repeat(3, 1fr);
}

函數(shù)repeat()接收兩個(gè)參數(shù):第一個(gè)參數(shù)表示重復(fù)的次數(shù),第二個(gè)參數(shù)表示軌道尺寸。

演示程序

4.2 例9
grid  {
    display: grid;
    grid-template-columns: 30px repeat(3, 1fr) 30px;
}

函數(shù)repeat()可以用在軌道定義列表當(dāng)中。

本例中,第1列和第5列的寬度是30px。函數(shù)repeat()創(chuàng)建了中間3列,每一列寬度都是1fr。

演示程序

5 定義網(wǎng)格間隙

屬性grid-column-gapgrid-row-gap用于定義網(wǎng)格間隙。

網(wǎng)格間隙只創(chuàng)建在行列之間,項(xiàng)目與邊界之間無(wú)間隙。

5.1 例10
grid  {
    display: grid;
    grid-row-gap:    20px;
    grid-column-gap: 5rem;
}

間隙尺寸可以是任何非負(fù)的長(zhǎng)度值(px,%,em等)。

演示程序

5.2 例11
grid  {
    display: grid;
    grid-gap: 100px 1em;
}

屬性grid-gapgrid-row-gapgrid-column-gap的簡(jiǎn)寫(xiě)形式。

第一個(gè)值表示行間隙,第二個(gè)值表示列間隙。

演示程序

5.3 例12
grid  {
    display: grid;
    grid-gap: 2rem;
}

如只有一個(gè)值,則其即表示行間隙,也表示列間隙。

演示程序

6 用網(wǎng)格線編號(hào)定位項(xiàng)目

網(wǎng)格線本質(zhì)上是用來(lái)表示網(wǎng)格軌道的開(kāi)始和結(jié)束。

每一條網(wǎng)格線編號(hào)都以1開(kāi)始,以1為步長(zhǎng)向前編號(hào),其中包括行列兩組網(wǎng)格線。

6.1 例13
.item1 {
    grid-row-start: 2;
    grid-row-end: 3;
    grid-column-start: 2;
    grid-column-end: 3;
}

這是一個(gè)3行2列的網(wǎng)格,即在行上有4條網(wǎng)格線,在列上有3條網(wǎng)格線。項(xiàng)目1利用網(wǎng)格線編號(hào)定位在第2行第2列的位置上。

本例中,項(xiàng)目只跨越一行一列,則grid-row-endgrid-column-end的定義可以省略。

演示程序

6.2 例14
.item1 {
    grid-row:    2;
    grid-column: 3 / 4;
}

屬性grid-rowgrid-row-startgrid-row-end的簡(jiǎn)寫(xiě)形式。

屬性grid-columngrid-column-startgrid-column-end的簡(jiǎn)寫(xiě)形式。

如果只指定一個(gè)值,它表示 grid-row/column-start。

如果兩個(gè)值都指定,第一個(gè)表示 grid-row/column-start ,第二個(gè)值表示grid-row/column-end。而且你必須用斜杠(/)分隔這兩個(gè)值。

演示程序

6.3 例15
.item1 {
    grid-area: 2 / 2 / 3 / 3;
}

屬性grid-areagrid-row-start, grid-column-start, grid-row-endgrid-column-end的簡(jiǎn)寫(xiě)形式。

如果四個(gè)值都指定,則第一個(gè)表示 grid-row-start, 第二個(gè)表示 grid-column-start, 第三個(gè)表示 grid-row-end ,第四個(gè)表示 grid-column-end。

演示程序

7 網(wǎng)格項(xiàng)目跨越行列

網(wǎng)格項(xiàng)目默認(rèn)都占用一行和一列,但可以使用前一節(jié)中定位項(xiàng)目的屬性來(lái)指定項(xiàng)目跨越多行或多列。

7.1 例16
.item1 {
    grid-column-start: 1;
    grid-column-end:   4;
}

通過(guò)grid-column-startgrid-column-end屬性值的設(shè)置,使該網(wǎng)格項(xiàng)目跨越多列。

演示程序

7.2 例17
.item1 {
    grid-row-start: 1;
    grid-row-end:   4;
}

通過(guò)grid-row-startgrid-row-end屬性值的設(shè)置,使該網(wǎng)格項(xiàng)目跨越多行。

演示程序

7.3 例18
.item1 {
    grid-row:    2 / 5;
    grid-column: 2 / 4;
}

簡(jiǎn)寫(xiě)屬性 grid-rowgrid-column 即能用來(lái)定位項(xiàng)目,也能用來(lái)使項(xiàng)目跨越多個(gè)行列。

演示程序

7.4 例19
.item1 {
    grid-row:    2 / span 3;
    grid-column: span 2;
}

關(guān)鍵字 span 用來(lái)指定跨越行或列的數(shù)量。

演示程序

8 網(wǎng)格線命名

當(dāng)利用屬性grid-template-rowsgrid-template-columns定義網(wǎng)格時(shí),可以同時(shí)定義網(wǎng)格線的名稱。網(wǎng)格線名稱可以用于定位網(wǎng)格項(xiàng)目。

8.1 例20
grid  {
    display: grid;
    grid-template-rows:    [row-1-start] 1fr [row-2-start] 1fr [row-2-end];
    grid-template-columns: [col-1-start] 1fr [col-2-start] 1fr [col-3-start] 1fr [col-3-end];
}

用屬性grid-template-rowsgrid-template-columns定義網(wǎng)格,同時(shí)定義網(wǎng)格線名稱。

為避免混淆,網(wǎng)格線名稱應(yīng)避免使用規(guī)范中的關(guān)鍵字(span等)。

定義網(wǎng)格線名稱的方法是要將其放在中括號(hào)內(nèi)([name-of-line]),并要和網(wǎng)格軌道相對(duì)應(yīng)。

8.2 例21
grid  {
    display: grid;
    grid-template-rows:    [row-start row-1-start] 1fr [row-1-end row-2-start] 1fr [row-2-end row-end];
    grid-template-columns: [col-start] 1fr [col-2-start] 1fr [col-3-start] 1fr [col-end];
}

可以給同一網(wǎng)格線定義多個(gè)名稱,方法就是在中括號(hào)內(nèi)用空格將多個(gè)名稱分開(kāi)。

每一個(gè)網(wǎng)格線名都可以被引用,以用來(lái)定位網(wǎng)格項(xiàng)目。

9 用網(wǎng)格線名定位項(xiàng)目

利用命名的網(wǎng)格線,可以很方便地進(jìn)行項(xiàng)目定位。

9.1 例22
.item1 {
    grid-row-start:    row-2-start;
    grid-row-end:      row-end;
    grid-column-start: col-2-start;
    grid-column-end:   col-end;
}

引用網(wǎng)格線名稱不用加中括號(hào)。

演示程序

9.2 例23
.item1 {
    grid-row:    row-2-start / row-end;
    grid-column: col-2-start / col-end;
}

簡(jiǎn)寫(xiě)屬性grid-rowgrid-column也可以利用網(wǎng)格線名稱來(lái)定位項(xiàng)目。

演示程序

10 用同名網(wǎng)格線命名和定位項(xiàng)目

函數(shù)repeat()可以定義同名網(wǎng)格線。這節(jié)省了給每條網(wǎng)格都命名的時(shí)間。

10.1 例24
grid {
    display: grid;
    grid-template-rows: repeat(3, [row-start] 1fr [row-end]);
    grid-template-columns: repeat(3, [col-start] 1fr [col-end]);
}

函數(shù)repeat()可以用來(lái)定義同名網(wǎng)格線。 這樣多個(gè)網(wǎng)格線擁有相同的名字。

同名網(wǎng)格線會(huì)被分配一個(gè)位置編號(hào),做為其唯一標(biāo)識(shí)。

10.2 例25
.item1 {
    grid-row:    row-start 2 / row-end 3;
   grid-column: col-start / col-start 3;
}

用同名網(wǎng)格線來(lái)定位項(xiàng)目時(shí),應(yīng)注意在網(wǎng)格線名稱和編號(hào)之間有一個(gè)空格。

本例中,項(xiàng)目1的行定位開(kāi)始于第2條名稱是row-start的網(wǎng)格線,結(jié)束于第3條名稱是row-end的網(wǎng)格線;列定位開(kāi)始于第1條名稱是col-start的網(wǎng)格線,結(jié)束于第3條名稱是col-start的網(wǎng)格線。

演示程序

11 用網(wǎng)格區(qū)域命名和定位項(xiàng)目

如同網(wǎng)格線命名,可以用屬性grid-template-areas給網(wǎng)格區(qū)域命名。網(wǎng)格區(qū)域名稱可以用來(lái)定位網(wǎng)格項(xiàng)目。

11.1 例26
grid {
    display: grid;
    grid-template-areas:   "header header"
                        "content sidebar"
                        "footer footer";
    grid-template-rows:    150px 1fr 100px;
    grid-template-columns: 1fr 200px;
}

一組區(qū)域名稱要放在單引號(hào)或雙引號(hào)內(nèi),每一個(gè)名稱之間以空格分隔。

每一組名稱定義一行,每一個(gè)名稱定義一列。

11.2 例27
header {
    grid-row-start: header;
    grid-row-end: header;
    grid-column-start: header;
    grid-column-end: header;
}

網(wǎng)格區(qū)域名稱可以用在屬性grid-row-start, grid-row-end, grid-column-start, 和 grid-column-end的值中,用來(lái)定位項(xiàng)目。

11.3 例28
footer {
    grid-row: footer;
    grid-column: footer;
}

網(wǎng)格區(qū)域名稱也可以用于簡(jiǎn)寫(xiě)屬性grid-rowgrid-column的值中。

11.4 例29
aside {
    grid-area: sidebar;
}

網(wǎng)格區(qū)域名稱也可以用于簡(jiǎn)寫(xiě)屬性grid-area的值中。

演示程序

12 隱式網(wǎng)格

隱式網(wǎng)格用來(lái)在顯式網(wǎng)格之外定位項(xiàng)目。有時(shí)在顯示網(wǎng)格中沒(méi)有足夠的空間,或者是要在顯示網(wǎng)格之外定位項(xiàng)目就要用到隱式網(wǎng)格。這時(shí)可以把這些項(xiàng)目放置在隱式網(wǎng)格中。

隱式網(wǎng)格可以通過(guò)屬性 grid-auto-rows, grid-auto-columns, 和 grid-auto-flow 來(lái)定義。

12.1 例30
grid {
    display : grid;
    grid-template-rows:    70px;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows:        140px;
}

本例中,只定一個(gè)行軌道,因此項(xiàng)目 1 和 2 高 70px 。

第2行軌道有隱式網(wǎng)格自動(dòng)創(chuàng)建并為項(xiàng)目 3 和 4 分配了空間。 屬性grid-auto-rows 定義了隱式網(wǎng)格的行軌道尺寸,即項(xiàng)目3和4的高度是 140px 。

演示程序

12.2 例31
grid {
    display : grid;
    grid-auto-flow: row;
}

缺省的網(wǎng)格布局方向是行的方向(row)。

12.3 例32
grid {
    display : grid;
    grid-auto-flow: column;
}

網(wǎng)格的布局方向可以定義為列的方向(column)。

12.4 例33
grid {
    display : grid;
    grid-template-columns: 30px 60px;
    grid-auto-flow:        column;
    grid-auto-columns:     1fr;
}

本例中,我們只定義了兩個(gè)列軌道的尺寸30px 和 60px。

隱式網(wǎng)格中自動(dòng)創(chuàng)建其它列并給項(xiàng)目3,4,5分配空間;分配的空間尺寸是通過(guò)屬性 grid-auto-columns定義的。

演示程序

13 隱式命名的網(wǎng)格區(qū)域

網(wǎng)格線名稱可以任意指定,但分配以 -start-end 結(jié)尾的名字有額外的益處,這樣隱式地創(chuàng)建了具名網(wǎng)格區(qū)域,該名稱可以用于項(xiàng)目定位。

13.1 例34
grid {
    display : grid;
    grid-template-rows:    [outer-start] 1fr [inner-start] 1fr [inner-end] 1fr [outer-end];
    grid-template-columns: [outer-start] 1fr [inner-start] 1fr [inner-end] 1fr [outer-end];
}

本例中,行和列都有名為inner-startinner-end的網(wǎng)格線,它們隱式地給網(wǎng)格區(qū)域分派了名稱(inner)。

item1 {
    grid-area: inner;
}

這樣我們就能夠直接使用網(wǎng)格區(qū)域名來(lái)定位,而不需要再用網(wǎng)格線來(lái)定位項(xiàng)目了。

演示程序

14 隱式命名的網(wǎng)格線

隱式命名網(wǎng)格線和隱式命名的網(wǎng)格區(qū)域的工作原理剛好相反。

14.1 例35
grid {
    display : grid;
    grid-template-areas:   "header header"
                        "content sidebar"
                        "footer footer";
    grid-template-rows:    80px 1fr 40px;
    grid-template-columns: 1fr 200px;
}

定義網(wǎng)格區(qū)域時(shí)隱式的命名了網(wǎng)格線的名稱。這些網(wǎng)格線的名稱是基于區(qū)域名加上-start-end后綴組成的。

14.2 例36
item1 {
    grid-row-start:    header-start;
    grid-row-end:      content-start;
    grid-column-start: footer-start;
    grid-column-end:   sidebar-end;
}

本例中,header是通過(guò)隱式網(wǎng)格線名稱進(jìn)行定位的。

演示程序

15 層疊網(wǎng)格項(xiàng)目

通過(guò)項(xiàng)目定位可以使多個(gè)項(xiàng)目層疊在一起,屬性z-index可以改變層疊項(xiàng)目的層次。

15.1 例37
.item-1, .item-2 {
  grid-row-start:  1;
  grid-column-end: span 2;
}
.item-1 { grid-column-start: 1; z-index: 1; }
.item-2 { grid-column-start: 2 }

本例中,項(xiàng)目1 和 2 行定位開(kāi)始于第1條行網(wǎng)格線,并跨越兩列。

兩個(gè)項(xiàng)目都是用網(wǎng)格線編號(hào)進(jìn)行定位。項(xiàng)目1起始于第1條列網(wǎng)格線,項(xiàng)目2起始于第2條列網(wǎng)格線,這使得兩個(gè)項(xiàng)目在第一行中間列發(fā)生層疊。

缺省情況下,項(xiàng)目2將層疊于項(xiàng)目1之上;然而,給項(xiàng)目1設(shè)置屬性z-index: 1就使得項(xiàng)目1層疊于項(xiàng)目2之上。

演示程序

15.2 例38
.overlay {
    grid-row-start:    header-start;
    grid-row-end:      content-end;
    grid-column-start: content-start;
    grid-column-end:   sidebar-start;
    z-index: 1;
}

本例中,利用在 grid-template-areas 定義中的隱式網(wǎng)格線名稱,定位了一個(gè)網(wǎng)格項(xiàng)目(overlay),并將層疊于上層。

演示程序

16 網(wǎng)格項(xiàng)目的對(duì)齊方式

CSS的 盒模型對(duì)齊模塊 補(bǔ)充了CSS網(wǎng)格的內(nèi)容,網(wǎng)格項(xiàng)目可以按行或列的軸線方向?qū)崿F(xiàn)多種對(duì)齊方式。

屬性justify-itemsjustify-self 以行軸為參照對(duì)齊項(xiàng)目,屬性align-itemsalign-self 以列軸為參照對(duì)齊項(xiàng)目。

屬性justify-itemsalign-items 是網(wǎng)格容器的屬性,并支持如下這些值:

auto

normal

start

end

center

stretch

baseline

first baseline

last baseline

16.1 例39
.grid {
    grid-template-rows: 80px 80px;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "content content"
                       "content content";
}
.item { grid-area: content }
.grid {
    justify-items: start
}

在行的軸線起點(diǎn)處對(duì)齊。

演示程序

16.2 例40
grid {
    justify-items: center;
}

在行的軸線中點(diǎn)處對(duì)齊。

演示程序

16.3 例41
grid {
    justify-items: end;
}

在行的軸線終點(diǎn)處對(duì)齊。

演示程序

16.4 例42
grid {
    justify-items: stretch;
}

在行的軸線方向延伸并填滿整個(gè)區(qū)域。stretch是缺省值。

演示程序

16.5 例43
grid {
    align-items: start;
}

在列的軸線起點(diǎn)處對(duì)齊。

演示程序

16.6 例44
grid {
    align-items: center;
}

在列的軸線中點(diǎn)處對(duì)齊。

演示程序

16.7 例45
grid {
    align-items: end;
}

在列的軸線終點(diǎn)處對(duì)齊。

演示程序

16.8 例46
grid  {
    align-items: stretch;
}

在列的軸線方向延伸并填滿整個(gè)區(qū)域。

演示程序

16.9 例47
grid {
    justify-items: center;
    align-items:   center;
}

項(xiàng)目定位于行軸和列軸線的中間位置。

演示程序

17 網(wǎng)格項(xiàng)目的對(duì)齊方式2

項(xiàng)目可以用屬性align-self 和 justify-self定義自己的對(duì)齊方式,并支持如下這些屬性值:

auto

normal

start

end

center

stretch

baseline

first baseline

last baseline

17.1 例48
.item1 { justify-self: start }
.item2 { justify-self: center }
.item3 { justify-self: end }

屬性justify-self 在行的軸線方向定義對(duì)齊方式。

演示程序

17.2 例49
.item1 { align-self: start }
.item2 { align-self: center }
.item3 { align-self: end }

屬性align-self 在列的軸線方向定義對(duì)齊方式。

演示程序

17.3 例50
.item1 {
    justify-self: center
    align-self:   center
}

項(xiàng)目1定位在行的軸線和列的軸線的中間位置。

演示程序

18 網(wǎng)格軌道的對(duì)齊方式

在網(wǎng)格容器中,網(wǎng)格軌道延軸線方向有多種對(duì)齊方式。

屬性align-content用于定義網(wǎng)格軌道延著行的軸線的對(duì)齊方式,而屬性justify-content用于定義網(wǎng)格軌道沿著列的軸線的對(duì)齊方式。并分別支持如下屬性:

normal

start

end

center

stretch

space-around

space-between

space-evenly

baseline

first baseline

last baseline

18.1 例51
.grid {
    width: 100%;
    height: 300px;
    grid-template-columns: repeat(4, 45px);
    grid-template-rows: repeat(4, 45px);
    grid-gap: 0.5em;
    justify-content: start;
}

列的軌道在行的軸線起點(diǎn)處對(duì)齊。start 是缺省值。

演示程序

18.2 例52
.grid {
    justify-content: end;
}

列的軌道在行的軸線終點(diǎn)處對(duì)齊。

演示程序

18.3 例53
.grid {
    justify-content: center;
}

列的軌道在行的軸線中間處對(duì)齊。

演示程序

18.4 例54
.grid {
    justify-content: space-around;
}

在每一列的兩側(cè)平均分配額外空間。

演示程序

18.5 例55
.grid {
    justify-content: space-between;
}

在列與列之間平均分配額外的空間。

演示程序

18.6 例56
.grid {
    justify-content: space-evenly;
}

在列與列之間及列與邊界之間平均分配額外空間。

演示程序

18.7 例57
.grid {
    align-content: start;
}

行的軌道在列的軸線起點(diǎn)處對(duì)齊,屬性start是缺省值。

演示程序

18.8 例58
.grid {
    align-content: end;
}

行的軌道在列的軸線終點(diǎn)處對(duì)齊。

演示程序

18.9 例59
.grid {
    align-content: center;
}

行的軌道在列的軸線中點(diǎn)處對(duì)齊。

演示程序

18.10 例60
.grid {
    align-content: space-around;
}

每一行的兩側(cè)平均分配額外空間。

演示程序

18.11 例61
.grid {
    align-content: space-between;
}

在行與行之間平均分配額外空間。

演示程序

18.12 例62
.grid {
    align-content: space-evenly;
}

在行與行之間及行與邊界之間平均分配額外空間。

演示程序

結(jié)語(yǔ)

本教程相對(duì)全面地介紹了網(wǎng)格的相關(guān)內(nèi)容,但這并不是一個(gè)完整的技術(shù)文檔。想更全面的學(xué)習(xí)相關(guān)內(nèi)容,推薦訪問(wèn) Mozilla開(kāi)發(fā)者網(wǎng)絡(luò) 和 W3C 的網(wǎng)格文檔。

由于能力有限,翻譯中難免錯(cuò)誤較多,還請(qǐng)大家多多諒解!

十分感謝原文作者Jonathan Suh在本文排版設(shè)計(jì),示例制作,文字編輯等方面卓越的工作。

為了獲得最佳的閱體驗(yàn),請(qǐng)?jiān)L問(wèn)如下排版的教程:

學(xué)習(xí)CSS網(wǎng)格

英文原版

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/113191.html

相關(guān)文章

  • CSS網(wǎng)格布局Grid教程

    摘要:一概述網(wǎng)格布局是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。接下來(lái),我們從網(wǎng)格容器到網(wǎng)格項(xiàng)的各個(gè)基本屬性來(lái)介紹網(wǎng)格布局。例網(wǎng)格項(xiàng)目按行排列,網(wǎng)格項(xiàng)目寬度由自身寬度決定。這時(shí),瀏覽器會(huì)自動(dòng)生成多余的網(wǎng)格,以便放置項(xiàng)目。 一、概述 CSS網(wǎng)格布局(Grid)是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。 首先來(lái)介紹幾個(gè)概念: 想象一個(gè)三行三列的布局,網(wǎng)格...

    vboy1010 評(píng)論0 收藏0
  • CSS網(wǎng)格布局Grid教程

    摘要:一概述網(wǎng)格布局是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。接下來(lái),我們從網(wǎng)格容器到網(wǎng)格項(xiàng)的各個(gè)基本屬性來(lái)介紹網(wǎng)格布局。例網(wǎng)格項(xiàng)目按行排列,網(wǎng)格項(xiàng)目寬度由自身寬度決定。這時(shí),瀏覽器會(huì)自動(dòng)生成多余的網(wǎng)格,以便放置項(xiàng)目。 一、概述 CSS網(wǎng)格布局(Grid)是一套二維的頁(yè)面布局系統(tǒng),它的出現(xiàn)將完全顛覆頁(yè)面布局的傳統(tǒng)方式。 首先來(lái)介紹幾個(gè)概念: 想象一個(gè)三行三列的布局,網(wǎng)格...

    fjcgreat 評(píng)論0 收藏0
  • 一行css代碼搞定響應(yīng)式布局

    摘要:最精彩的地方在于所有的響應(yīng)特性被添加到了一行代碼中?;A(chǔ)響應(yīng)單位柵格布局帶來(lái)了一個(gè)全新的值單位,單位通常簡(jiǎn)寫(xiě)為,它允許你根據(jù)需要將容器拆分為多個(gè)塊。 原文地址: https://medium.com/free-code-...原文作者: Per Harald Borgen 翻譯作者: hanxiansen showImg(https://segmentfault.com/img/re...

    appetizerio 評(píng)論0 收藏0
  • CSS Grid 布局完全指南(圖解 Grid 詳細(xì)教程)

    摘要:重復(fù)網(wǎng)格區(qū)域的名稱導(dǎo)致內(nèi)容跨越這些單元格。中間一排將由兩個(gè)區(qū)域,一個(gè)是空單元格,一個(gè)區(qū)域組成。你可以使用任意數(shù)量的相鄰的點(diǎn)來(lái)聲明單個(gè)空單元格。只要這些點(diǎn)之間沒(méi)有空隙隔開(kāi),他們就代表一個(gè)單獨(dú)的單元格。? CSS Grid 布局是 CSS 中最強(qiáng)大的布局系統(tǒng)。與 flexbox 的一維布局系統(tǒng)不同,CSS Grid 布局是一個(gè)二維布局系統(tǒng),也就意味著它可以同時(shí)處理列和行。通過(guò)將 CSS 規(guī)則應(yīng)用...

    flybywind 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<