CSS Grid 简介

CSS Grid 是一个二维布局系统,它允许设计师和开发人员轻松创建复杂且响应式的布局。

Grid 布局创建由行和列组成的网格结构,并将元素定位在网格的各个单元格中。

下图显示了一个简单的网格布局,包含三行和三列。

CSS Grid Layout

Grid 允许行和列具有灵活性,可以调整大小以适应可用的屏幕空间。

这意味着我们可以创建在所有设备上看起来美观且运行良好的布局,无论屏幕尺寸如何。例如,我们可以在大屏幕上创建两列的布局,而在小屏幕上创建一列的布局。

注意:在基于网格的布局之前,开发人员使用了表格,然后是浮动、定位和内联块。然而,这些都不是为布局目的而设计的,并且存在一些限制。


Grid 布局的工作原理

Grid 布局包含以下步骤:

1. 设置 Grid 容器

基于网格的布局的第一步是定义一个网格容器。该容器将容纳网格项目。

display: grid 声明将一个元素转换为网格容器。

下图显示了一个简单的网格容器。

CSS Grid Container

2. 创建 Grid 结构

第二步涉及通过定义行和列来指定网格的结构。

grid-template-rowsgrid-template-column 属性允许在网格容器中指定行和列。

在下图的网格容器中,我们设置了两行三列。

CSS Grid Structure

3. 将项目放置在 Grid 单元格中

第三步也是最后一步是将项目放置在网格的各个单元格中。这些项目可以是我们要定位在网格布局中的任何 HTML 元素。

在下图中,我们在一个包含三行三列的网格容器中放置了不同的 HTML 元素。

CSS Grid Item Placement

CSS Grid 使我们能够灵活地创建具有不同大小的行和列的复杂二维设计。


Grid 布局术语

Grid 布局包含以下术语:

Grid 容器和 Grid 项目

Grid 容器是包含 Grid 项目的父元素。Grid 项目是 Grid 容器的直接子元素。

下图显示了一个具有三个 Grid 项目的 Grid 容器。

CSS Grid Container With Three Items

这是一个创建 Grid 容器和 Grid 项目的代码片段。

<div class="container">
  <div class="item item-1"> </div>
  <div class="item item-2"> </div>
  <div class="item item-3"> </div>
</div>

在这里,具有 container 类的 div 是 Grid 容器,它包含三个 Grid 项目。


Grid 线

Grid 线是指划分网格的垂直线和水平线。水平线分隔行,垂直线分隔列。例如,

CSS Grid Lines

在这里,黄色线是 Grid 线。


Grid 轨道

Grid 轨道是指两条 Grid 线之间的相邻空间。这可以是垂直或水平空间。例如,

CSS Grid Track

Grid 区域

Grid 区域是指由四条 Grid 线包围的空间。一个 Grid 区域可以包含任意数量的 Grid 单元格。例如,

CSS Grid Area

这里,彩色空间代表一个 Grid 区域。


Grid 单元格

Grid 单元格是由行和列的交叉点形成的单个单元。例如,

CSS Grid Cell

这里,彩色空间代表 Grid 的一个单元格。


Grid 间隙

Grid 间隙是指网格中行和列之间的空间。例如,

CSS Grid Gap Between Rows and Columns

Grid 布局包含用于Grid 容器Grid 项目的几个属性。我们将在下一篇文章中介绍它们。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战