CSS Grid 网格布局(入门)

Flexbox 是为一维布局设计的,而 Grid 网格布局是二维布局,跟以前的 table 表格布局类似。

CSS Grid 网格布局教程 1-1

CSS Grid 网格布局 - 重要术语

1.网格容器

元素属性设置为 display: grid; ,则称这个元素为网格容器。

2.网格项

网格容器的直接子元素称为网格项。直接子元素里面的元素不算网格项。

3.网格线

n行有 n + 1 根行网格线,m列有 m + 1 根列网格线。

2列3行,就有3条列网格线、4条行网格线。

以下图中红色线就是一条列网格线。

css_grid_网格线 1-2

4.网格轨道

类似 table 的行和列。两个相邻的网格线之间为网格轨道,也就是网格的列或行。

如上图中的 “1”,“2”,“3” 合成一条行轨道。一共有3个行轨道,3个列轨道。

5.网格单元

类似 table 的 td,两个相邻的列网格线和两个相邻的行网格线组成的是网格单元,是最小的网格单元。

有时候网格单元数量并不等于网格项。

6.网格区

网格区域是由一个或者多个网格单元格组成的一个矩形区域。

CSS Grid 网格布局 - 重要属性

属性 描述
设置在网格容器上
display display grid 或者 inline-grid 声明元素为网格容器
行和列 grid-template-columns 设置网格列
grid-template-rows 设置网格行
网格排序 grid-auto-flow 设置网格项如何排序
网格对齐 justify-content 网格在网格容器的水平方向如何对齐
align-content 网格在网格容器的垂直方向如何对齐
place-content 简写:<align-content>  <justify-content>
网格单元对齐 justify-items 网格项在网格单元的水平方向如何对齐
align-items 网格项在网格单元的垂直方向如何对齐
place-items 简写:<align-items>  <justify-items>
网格单元间距 grid-row-gap 设置行间距
grid-column-gap 设置列间距
gap 简写:<grid-row-gap>  <grid-column-gap>
默认尺寸 grid-auto-columns 指定未设置尺寸的列的宽度
grid-auto-rows 指定未设置尺寸的行的高度
网格区域 grid-template-areas 设置网格区域
设置在网格项上
网格项定位 grid-column-start 网格项在第几根列线上开始
grid-column-end 网格项在第几根列线上结束
grid-row-start 网格项在第几根行线上开始
grid-row-end 网格项在第几根行线上结束
grid-area 网格项定位于哪个区域
网格项对齐 justify-self 网格项在网格单元的水平方向如何对齐
align-self 网格项在网格单元的垂直方向如何对齐