发布于 2026-01-06 8 阅读
0

CSS Grid 快速入门 引言 结论

CSS Grid 快速入门

介绍

结论

介绍

在本文中,我将介绍 CSS Grid 的基础知识,包括它的定义以及如何上手使用。这既是为了帮助我自身的学习,也希望能为社区提供一些快速有效的帮助。
让我们一起来了解这项强大的技术吧!😄

什么是CSS Grid?

CSS Grid 允许你将一个区域划分成若干行和列,因此得名CSS Grid。这在构建布局时非常有用,因为你可以通过在 CSS 中指定元素的位置,将其放置在网格的任何区域。

CSS Grid入门

首先,你需要一个父容器,并为其应用一个特殊属性来激活网格。然后,将你想要包含在网格中的任何项目都放置在这个父容器内。

<div class="container">
  <div class="one">One</div>
  <div class="two">Two</div>
  <div class="three">Three</div>
  <div class="four">Four</div>
</div>
Enter fullscreen mode Exit fullscreen mode
.container {
  display: grid;
 }
Enter fullscreen mode Exit fullscreen mode

要启用 Grid 布局,我们只需将display属性的值设置为grid即可。这样就告诉浏览器,我们希望指定的容器是一个 Grid 布局,就这么简单。
之后,我们就可以使用一系列与 CSS Grid 相关的属性来构建布局了。

CSS 网格属性

  • grid-template-columns:指定列的大小和数量
  • grid-template-rows:指定行数和大小

用法示例

.container {
    ...
    /* Defining two columns with the size of 60px */
    grid-template-columns: 60px 60px;
}
Enter fullscreen mode Exit fullscreen mode

使用这些属性时,您是在显式定义网格,这意味着您是在精确定义网格的行为方式。

如果我们定义列时没有指定任何行规则,CSS 将根据元素的大小隐式地为我们创建行。

  • 网格间距:在网格的不同行和列之间创建一些间距。

用法示例

.container {
    ...
    /* Create 10 pixels of space on the top and bottom of each Grid element,
    and 20 pixels of space on the left and right sides. */
    grid-gap: 10px 20px;
}
Enter fullscreen mode Exit fullscreen mode
  • grid-auto-rows:定义隐式创建的行的大小
  • grid-auto-columns:定义隐式创建的列的大小

用法示例

.container {
    ...
    grid-auto-columns: 1fr;
}
Enter fullscreen mode Exit fullscreen mode

以上述示例为例,定义此属性后,添加到网格中的任何其他列都会自动占用页面上的一个可用空间。注意:这里的“fr”并非指“可用空间”,而是一种便于理解单位运作方式的巧妙方法。

  • 网格列(简写)
  • 网格行(简写)

grid-column 是以下属性的简写:

  • 网格列开始
  • 网格列结束

grid-row 是以下属性的简写:

  • 网格行开始
  • 网格行结束

-start属性告诉 Grid 最初将项目放置在哪里,-end属性告诉 Grid 要放置的元素应该在哪个位置停止。

您指定的值指的是网格线。以正方形为例,左边的线是线 1,右边的线是线 2

用法示例

.container {
    ...
    /* Start at column line 2, end at column line 4*/
    grid-column-start: 2;
    grid-column-end: 4;

    /* Shorthand */
    grid-column: 2 / 4;
}
Enter fullscreen mode Exit fullscreen mode

网格模板区域

网格模板区域是一种为网格的不同部分命名的方法。使用的属性名为grid-template-areas。以下是其基本语法:

.container
{
 grid-template-areas:
      "sidebar-1 content sidebar-2"
}
Enter fullscreen mode Exit fullscreen mode

语法大致遵循实际网格的结构。因此,前三列将分别命名为sidebar-1contentsidebar-2

要继续定义网格的其他区域,例如下面的行,您可以在新的一行上使用相同的名称来定义整个区域,或者使用新名称来标识网格的新部分。

.container
{
 grid-template-areas:
      "sidebar-1 content sidebar-2"
      "sidebar-1 content sidebar-2"
      "footer footer footer";
}
Enter fullscreen mode Exit fullscreen mode

使用预先定义的页面元素类名,您可以利用网格模板区域名称来定义这些元素的放置位置。示例如下:

.footer
{
    grid-area: footer;
}

.item1
{
    grid-area: sidebar-1;
}

.item2
{
    grid-area: content;
}

.item3
{
    grid-area: sidebar-2;
}
Enter fullscreen mode Exit fullscreen mode

这意味着,对于选中的每个项目,将其放置在我们指定的网格区域中。被放置的元素会自动定位到网格的指定区域内,使用`grid-area` 属性

结论

这篇 CSS Grid 入门教程非常简短,旨在总结我通过以下资源学习到的基本概念:
Wes Bos:CSS Grid 课程;
Mozilla 开发者网络:CSS Grid 布局

感谢阅读👋!如果您有兴趣了解我的Web开发之旅,欢迎在InstagramTwitter上关注我😄

文章来源:https://dev.to/yusufcodes/a-quick-introduction-to-css-grid-na5