6 种基本布局 - 学完这些,你的 CSS Grid 好了一半!

阅读时长 5 min read

在前端开发中,页面布局是不可避免的一个问题,一个好的布局能够提升用户体验、页面响应速度和代码可读性。而现在,CSS Grid 引入进来,打破了过去布局方式的限制,更容易让前端开发者实现各种复杂布局。本文将介绍 6 种基本布局,帮助你更好地理解 CSS Grid 并实现一个令人满意的页面布局。

1. Columns

Columns 布局是构建多列布局的最基本形式,它将内容均分成多列。Columns 布局可以使用 Grid 的 grid-template-columns 属性来实现:

上面的代码将 page 内容分为 3 列,每列宽度相等。你可以根据需要来添加或删除这些划分,或者根据视口的大小自适应地改变它们。

2. Rows

Rows 布局同样是基本的一行多列布局,只不过是水平方向的。它的实现方式非常类似于 Columns 布局:

上面的代码将页面的三行高度分别设为 100px、自适应、100px。这意味着中间的自适应高度会自动填满剩余的空间。

3. Grid

Grid 是一种能够同时进行多行多列布局的方式。这种布局非常灵活,能够让你以多种方式组织内容。下面是一个 Grid 的示例代码:

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

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

在上面的例子中,我们将 .container 元素的内容划分为 3 列,并设置了 20px 的间隙。.item 元素的样式是与布局无关的,你可以根据具体需要自由设置。

4. Media Object

Media Object 布局是一种非常灵活的列表布局方式,这种布局可以实现图片、视频等媒体元素的展现。下面是一个 Media Object 布局的示例代码:

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

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

上面的示例中,我们将 Media Object 划分为 2 列,并使用了 align-items 属性来让它们垂直居中,同时设置了间隙和图片最大宽度。

5. Holy Grail

Holy Grail 布局是一种经典的页面布局方式,通常用于实现博客和电子商务网站等大型站点。它的核心是将内容划分为一个居中的主列和两个侧边栏,如下所示:

以下是 Holy Grail 布局的代码实现:

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

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

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

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

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

上面的代码将页面划分为上下两个自动高度的区域和一个中间区域,中间区域又分为三列,侧边栏的宽度由 minmax 属性控制,这使得侧边栏能够自适应不同大小的屏幕。

6. Masonry

Masonry 布局是一种在页面上展示多张图片的方式,特点是每张图片的大小不一致。它的实现方式是将图片按照一定的规则进行排列,如下所示:

以下是 Masonry 布局的代码实现:

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

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

上述代码将页面划分为多列,每列的宽度为 1 列等分,其中 minmax 属性限制了每列的最小宽度和最大宽度。grid-auto-rows 属性指定每行的高度为 200px,gap 属性设置了列之间的间隔。图片设置了宽度和高度为 100%,object-fit 属性指定了图片填充方式为 cover。

结语

以上就是 6 种基本的 CSS Grid 布局,希望能够帮助你更好地理解 Grid,并快速实现你的页面布局。每种布局都有其特点,你可以根据实际需求自由组合和调整。如果你想要深入学习 CSS Grid 或者了解更多前端技术,请查看相关的教程和文章。

Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/67d7d30ca941bf7134e008b4

Feed
back