CSS Grid 布局:如何使用 grid-template-rows 属性控制行高

阅读时长 5 分钟读完

引言

CSS Grid 布局是一种强大的前端布局方式,它允许我们以一种更直观的方式来组织网页布局。在 CSS Grid 布局中,我们可以通过定义网格的行和列来控制组件的位置和排列。grid-template-rows 属性是一个控制 CSS Grid 行高的属性,通过它,我们可以创建具有各种不同行高的网格。在本文中,我们将学习如何使用 grid-template-rows 属性来控制 CSS Grid 布局中的行高。

grid-template-rows 属性

grid-template-rows 属性是一个用于定义 CSS Grid 布局中行高的属性。通过它,我们可以为 CSS Grid 定义一组行,每行的高度可以是一个固定的值、一个百分比值,或者一个使用 minmax() 函数定制的高度值。该属性的语法如下:

其中,<track-size> 表示一个固定的长度值,例如 50px 或者 20%。 <line-name> 则是一个用于定义具名行的变量名称。 minmax() 和 fit-content() 是两种用于定制行高的函数。repeat() 函数可以用于重复一个已定义的值,例如 repeat(5, 1fr) 表示重复 5 次 1fr。

如何使用 grid-template-rows 属性

下面我们通过几个示例来学习如何使用 grid-template-rows 属性来控制 CSS Grid 布局中的行高。

示例 1:创建一个等高的网格

我们首先创建一个简单的网格,其中所有的行都具有相同的高度。代码如下:

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

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

在上面的代码中,我们定义了一个具有两列和四行的 CSS Grid 布局。通过 grid-template-rows: 100px 定义,我们为每一行设置了一个高度值为 100px。这意味着所有的行都具有相同的高度。我们还定义了一些基本样式来让组件更加易于区分。

下面是运行结果的截图:

从截图中可以看出,所有的行具有相同的高度,网格中的组件按照其排列位置均匀地分布到了整个网格中。

示例 2:创建具有不同行高的网格

现在我们来看一个稍微复杂一些的例子。在这个例子中,我们创建一个具有多个不同行高的网格。代码如下:

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

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

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

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

在上面的代码中,我们定义了一个具有两列和十行的 CSS Grid 布局。通过 grid-template-rows: minmax(100px, auto) 定义,我们为每一行设置了一个最小高度值为 100px,同时也允许根据组件的内容自适应地调整高度。我们还定义了一些其他的样式来让组件更加易于区分。注意看 .tall.short 类,它们用来设置某些行的高度变化。

下面是运行结果的截图:

从截图中可以看出,每一行的高度都不同,具有 .tall 类的组件跨越了两行,而具有 .short 类的组件则仅跨越了半行。

总结

在本文中,我们学习了如何使用 grid-template-rows 属性来控制 CSS Grid 布局中的行高。我们了解了该属性的语法和使用方法,并通过两个示例来详细说明怎样使用该属性来创建不同高度的网格。CSS Grid 布局是一个非常强大的前端布局方式,它有助于我们以一种直观的方式来组织网页布局。学会如何使用 CSS Grid 布局将会帮助我们更加高效地创建各种网页布局。

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

纠错
反馈