Grid布局

瀏覽器支持情況:


首先要聲明使用的布局類(lèi)型,注意在Grid布局里column, float, clear 和 vertical-align 不會(huì)生效。

.container {
  display: grid | inline-grid | subgrid;
}

1 grid-template-columns 表示每一行如何劃分,grid-template-rows 表示每一列如何劃分

.container {
  grid-template-columns: 40px 50px auto 50px 40px;
  grid-template-rows: 25% 100px auto;
}
屏幕快照 2018-01-10 15.33.29.png

可以給每一行列加上名字,名字可以多個(gè)。

.container {
  grid-template-columns: [first] 40px [line2] 50px [line3] auto [col4-start] 50px [five] 40px [end];
  grid-template-rows: [row1-start] 25% [row1-end] 100px [third-line] auto [last-line];
}

如果有重復(fù)的地方可以使用repeat表示,以下兩句意思一樣。

.container {
  grid-template-columns: repeat(3, 20px [col-start]) 5%;
  grid-template-columns: 20px [col-start] 20px [col-start] 20px [col-start] 5%;
}

可以使用fr來(lái)代表一部分

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

2 grid-template-areas

.item-a {
  grid-area: header;
}
.item-b {
  grid-area: main;
}
.item-c {
  grid-area: sidebar;
}
.item-d {
  grid-area: footer;
}

.container {
  grid-template-columns: 50px 50px 50px 50px;
  grid-template-rows: auto;
  grid-template-areas: 
    "header header header header"
    "main main . sidebar"
    "footer footer footer footer";
}
屏幕快照 2018-01-10 15.50.45.png

3 grid-template 是上面三個(gè)屬性合并的簡(jiǎn)寫(xiě),語(yǔ)法格式為

.container {
  grid-template: none | subgrid | <grid-template-rows> / <grid-template-columns>;
}

下面兩種寫(xiě)法效果一樣

.container {
  grid-template:
    [row1-start] "header header header" 25px [row1-end]
    [row2-start] "footer footer footer" 25px [row2-end]
    / auto 50px auto;
}
.container {
  grid-template-rows: [row1-start] 25px [row1-end row2-start] 25px [row2-end];
  grid-template-columns: auto 50px auto;
  grid-template-areas: 
    "header header header" 
    "footer footer footer";
}

4 grid-column-gap 和 grid-row-gap 表示每行每列之間的間隔

.container {
  grid-template-columns: 100px 50px 100px;
  grid-template-rows: 80px auto 80px; 
  grid-column-gap: 10px;
  grid-row-gap: 15px;
}
屏幕快照 2018-01-10 16.23.51.png
 重要的術(shù)語(yǔ):
### Properties for the Grid Container:
grid-column-gap / grid-row-gap / grid-gap / justify-items / align-content / grid-auto-columns / grid-auto-rows / grid-auto-flow /grid 

### Properties for the Grid Items
grid-coulmn-start / grid-column-end / grid-row-start / grid-row-end / grid-column / grid-row / grid-area / justify-self / align-self

## Grid Container

### grid-template-columns / grid-template-rows
<track-size> / <line-name>
### grid-template-areas
<grid-area-name> / . / none
### grid-template
none / subgrid / <grid-template-rows> / <grid-template-columns>
### grid-column-gap / grid-row-gap
<line-size>
### grid-gap
<grid-row-gap> / <grid-column-gap>
### justify-items / align-items
start / end / center / stretch
### justify-content / align-content
start / end / center / stretch / space-around / space-between / space-evenly 
### grid-auto-columns / grid-auto-rows
<track-size>
### grid-auto-flow
row / column / dense
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介CSS網(wǎng)格布局(又稱(chēng)“網(wǎng)格”),是一種二維網(wǎng)格布局系統(tǒng)。CSS在處理網(wǎng)頁(yè)布局方面一直做的不是很好。一開(kāi)始我們用...
    _leonlee閱讀 65,763評(píng)論 25 173
  • 原文地址:Getting to know CSS Grid Layout 原文作者:Chris Wright 譯者...
    iKcamp閱讀 3,876評(píng)論 0 13
  • 簡(jiǎn)介 CSS Grid布局 (又名"網(wǎng)格"),是一個(gè)基于二維網(wǎng)格布局的系統(tǒng),旨在改變我們基于網(wǎng)格設(shè)計(jì)的用戶(hù)界面方式...
    咕咚咚bells閱讀 2,698評(píng)論 0 4
  • 前言 溫馨提示:本文較長(zhǎng),圖片較多,本來(lái)是想寫(xiě)一篇 CSS 布局方式的,但是奈何 CSS 布局方式種類(lèi)太多并且實(shí)現(xiàn)...
    sunshine小小倩閱讀 3,266評(píng)論 0 59
  • 前言 三月中旬的時(shí)候,有一個(gè)對(duì)于 CSS 開(kāi)發(fā)者來(lái)說(shuō)很重要的消息,最新版的 Firefox 和 Chrome 已經(jīng)...
    LeviDing閱讀 930評(píng)論 0 13

友情鏈接更多精彩內(nèi)容