初识 CSS Grid 布局,如何学习与实践

阅读时长 6 分钟读完

CSS Grid 布局是一种新的布局方式,它是由网格(grid)组成的布局系统。与传统的基于盒模型的布局方式不同,CSS Grid 布局可以更好地适应不同屏幕尺寸和设备。在本文中,我们将介绍 CSS Grid 布局的基本概念、学习方法和实践技巧。

CSS Grid 布局的基本概念

在 CSS Grid 布局中,我们可以将网页划分为多个行和列,并将网页元素(比如图像、文本、表格等)放置到网格的单元格(grid cell)中。CSS Grid 布局的核心是网格容器(grid container)和网格单元(grid item)。

网格容器(grid container)

网格容器是一个 HTML 元素,它将内部的子元素划分为网格。我们可以将任何元素设置为网格容器,例如 divsectionmainbody 等。

-- -------------------- ---- -------
------
  ---- ------------------
    ---- ----------- ---------------
    ---- ----------- ---------------
    ---- ----------- ---------------
    ---- ----------- ---------------
    ---- ----------- ---------------
    ---- ----------- ---------------
  ------
-------

以上代码中,div.container 就是一个网格容器。

网格单元(grid item)

网格单元指的是网格容器中的子元素,它们被放置在网格容器的单元格中,可以设置它们在网格中的位置、大小、样式等。

-- -------------------- ---- -------
---------- -
  -------- -----
  ---------------------- --------- -----
  ------------------- --------- -----
  ---- -----
-

----- -
  ------- ----- --- -----
  -------- -----
  ----------- -------
  ---------- -----
-

------- -
  ------------ - - --
  --------- --
-

------- -
  ------------ --
  --------- --
-

------- -
  ------------ --
  --------- --
-

------- -
  ------------ --
  --------- --
-

------- -
  ------------ --
  --------- - - --
-

------- -
  ------------ --
  --------- - - --
-

以上代码将网格容器设置为 3 列、2 行的网格,并设置了单元格之间的间距为 10px。同时,我们设置了六个网格单元的位置和样式。

  • .item-1 跨越了一行两列,所以它占据了前两列;
  • .item-2.item-3 分别在第二列和第三列的第二行;
  • .item-4 在第一列的第二行;
  • .item-5.item-6 分别跨越了第二行和第三行。

当我们运行以上代码,将会得到以下的格子布局效果:

学习 CSS Grid 布局的方法

要学习 CSS Grid 布局,需要有一定的 HTML、CSS 基础,并且需要掌握以下几个重要的概念:

  • 网格容器(grid container)和网格单元(grid item)
  • 行(row)和列(column)
  • 网格线(grid line)
  • 网格轨道(grid track)
  • 网格区域(grid area)
  • minmax() 函数
  • repeat() 函数
  • grid-template-rows 和 grid-template-columns 属性
  • grid-template-areas 属性
  • grid-column 和 grid-row 属性

推荐以下两个学习资源:

实践 CSS Grid 布局的技巧

在实践 CSS Grid 布局时,需要注意以下几点:

  • 首先将网格划分为行和列,可以使用 grid-template-columnsgrid-template-rows 属性进行设置;
  • 然后使用 grid-columngrid-row 属性来设置网格单元的位置;
  • 如果需要调整网格单元的大小,可以使用 grid-column-startgrid-column-endgrid-row-startgrid-row-end 属性;
  • 使用 grid-template-areas 属性来创建层叠布局(stacked layout)和复杂布局;
  • 使用 minmax() 函数和 repeat() 函数来设置网格轨道。

下面是一个简单的实例,展示了如何使用 CSS Grid 布局实现一个响应式的布局:

-- -------------------- ---- -------
---------- -
  -------- -----
  ---------------------- ---------------- ------------- ------
  ------------------- --------- -----
  --------- -----
-

----- -
  ----------------- -----
  -------- -----
-

------ ----------- ------ -
  ---------- -
    ---------------------- ----
    ------------------- -----
  -
-

在以上代码中,我们使用 grid-template-columns 属性创建了一个自适应的网格,每个网格单元的宽度为 200px,并使用 grid-template-rows 属性创建了三个等分的行。在小屏幕上,我们使用媒体查询重新设置了网格布局的行和列。

总结

本文介绍了 CSS Grid 布局的基本概念、学习方法和实践技巧。CSS Grid 布局是一种非常强大的布局方式,可以帮助我们更好地适应不同的屏幕和设备,同时也能够实现更多的网页布局效果。希望读者能够通过本文的介绍,掌握 CSS Grid 布局的基本技能,同时也能够深入实践,实现更加灵活多样的布局效果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64939ad148841e989413c8d2

纠错
反馈