返回

CSS Grid 布局(上):构建完美网页布局的终极指南

前端

CSS Grid 布局概述

CSS Grid 布局是一种新的 CSS 布局模块,可让您更轻松、更一致地跨浏览器创建复杂的响应式 Web 设计布局。它提供了许多特性,例如网格区域、列和行、间距和对齐方式,可以帮助您创建复杂的布局,而无需使用浮动或定位。

创建网格

要创建网格,您需要使用 display: grid; 声明。例如:

.grid {
  display: grid;
}

这将创建一个网格容器,您可以将单元格添加到其中。

添加单元格

要添加单元格,您需要使用 grid-template-areas 声明。例如:

.grid {
  display: grid;
  grid-template-areas:
    "header header header"
    "nav main main"
    "footer footer footer";
}

这将创建一个具有三个列和三行网格。第一行包含三个标头单元格,第二行包含一个导航单元格和两个主单元格,第三行包含三个页脚单元格。

控制单元格的大小和位置

您可以使用 grid-template-columnsgrid-template-rows 声明来控制单元格的大小。例如:

.grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  grid-template-rows: 100px 1fr 100px;
}

这将创建一个三列网格,第一列和第三列的宽度为 1fr,第二列的宽度为 2fr。第一行和第三行的高度为 100px,第二行的高度为 1fr。

您还可以使用 grid-column-startgrid-column-endgrid-row-startgrid-row-end 声明来控制单元格的位置。例如:

.grid {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  grid-template-rows: 100px 1fr 100px;
  grid-column-start: 2;
  grid-column-end: 4;
  grid-row-start: 2;
  grid-row-end: 3;
}

这将创建一个位于第二列第二行且跨越三列和一行的单元格。

间距和对齐方式

您可以使用 grid-gap 声明来控制单元格之间的间距。例如:

.grid {
  display: grid;
  grid-gap: 10px;
}

这将在单元格之间添加 10px 的间距。

您可以使用 justify-contentalign-items 声明来控制单元格在网格中的对齐方式。例如:

.grid {
  display: grid;
  justify-content: center;
  align-items: center;
}

这将在网格中水平和垂直居中单元格。

结束语

CSS Grid 布局是一种功能强大且灵活的工具,可让您创建复杂且响应式的布局。在本指南的第一部分,我们介绍了 CSS Grid 布局的基础知识,包括如何创建网格、添加单元格以及控制单元格的大小和位置。在下一部分中,我们将介绍 CSS Grid 布局的更多高级特性,例如网格嵌套、命名网格线和重复网格。