> 文章列表 > 44.CSS Grid布局概述

44.CSS Grid布局概述

44.CSS Grid布局概述

什么是CSS Grid?

● CSS Grid 是一组用于构建二维布局的 CSS 属性
● CSS Grid 背后的主要思想是我们将容器元素划分为行和列,这些行和列可以填充是子元素。
● 在两段式语境中,CSS网格允许我们写出更少的嵌套HTML和更容易阅读的CSS
● CSS Grid并不是要取代flexbox!相反,它们可以完美地配合。需要一个一维布局?请使用flexbox。需要一个 二维布局,使用CSS Grid

基本的CSS Grid术语

创建网格容器

display: grid;

44.CSS Grid布局概述

子元素为Grid items

44.CSS Grid布局概述

和flexbox类似,我们也有轴,行轴和列轴

44.CSS Grid布局概述

二维布局,还有网格线概念

44.CSS Grid布局概述

网格单元(可以被填满或者不被填满)

44.CSS Grid布局概述

空隙

44.CSS Grid布局概述

网格轨道

44.CSS Grid布局概述

一行或者一列都称为网格轨道

网格容器属性

grid-template-rows:  <track size>*
grid-template-columns:  <track size>*## 要建立网格的行和列轨道。每个轨道有一个长度单位。任何单位都可以使用,新的fr填补了未使用的空间
row-gap:0 | <length>
column-gap:0 | <length>
或者
gap:0 | <length>##要在轨道之间建立空的空间
justify-items:stretch | start | center | end
align-items: stretch | start | center | end##在行/列内对齐项目(水平/垂直)。
justify-content:start | start | center | end | ...
align-content: start | start | center | end | ...##要把整个网格放在网格容器内。只适用于容器大于网格的情况

GRID ITEMS

grid-column: <start line> / <end line> | span <number>
grid-row: <start line> / <end line> | span <number>##根据行号,将一个网格项目放置在一个特定的单元格中。 span关键字可用于将一个项目跨越多个单元格。
justify-self: stretch | start | center | end
align-self: stratch | start | center | end##覆盖单个项目的justify-items / align-items