网格线

只要你使用 CSS 网格布局,就会创建网格线

示例

在下面的示例中,有一个包含三个列轨道和两个行轨道的网格。这为我们提供了 4 条列网格线和 3 条行网格线。

html
<div class="wrapper">
  <div>One</div>
  <div>Two</div>
  <div>Three</div>
  <div>Four</div>
  <div>Five</div>
</div>
css
.wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 100px 100px;
}

网格线可以通过其编号来寻址。在像英语这样的从左到右的语言中,列网格线 1 将位于网格的左侧,行网格线 1 将位于顶部。网格线编号会遵循文档的书写模式,因此,在从右到左的语言中,列网格线 1 将位于网格的右侧。下图显示了假设语言为从左到右时网格的网格线编号。

Diagram showing the grid with lines numbered.

当为容纳位于显式网格之外的内容而创建隐式轨道时,也会在隐式网格中创建网格线,但这些网格线不能通过编号来寻址。

按网格线编号放置项目

创建网格后,你可以按网格线编号将项目放置到网格上。在以下示例中,该项目从列网格线 1 定位到列网格线 3,从行网格线 1 定位到行网格线 3。

html
css

命名网格线

显式网格中创建的网格线可以命名,方法是在轨道尺寸信息之前或之后的中括号内添加名称。放置项目时,你就可以使用这些名称代替网格线编号,如下所示。

html
<div class="wrapper">
  <div class="item">Item</div>
</div>
css
.wrapper {
  display: grid;
  grid-template-columns: [col1-start] 1fr [col2-start] 1fr [col3-start] 1fr [cols-end];
  grid-template-rows: [row1-start] 100px [row2-start] 100px [rows-end];
}
.item {
  grid-column-start: col1-start;
  grid-column-end: col3-start;
  grid-row-start: row1-start;
  grid-row-end: rows-end;
}

另见

属性参考

延伸阅读