CSS 网格布局的基础是定义一个网格容器,通过 display: grid; 属性来声明一个元素成为网格容器。以下是一些基本的网格容器属性:

1. 定义网格容器:
.container {
  display: grid;
  /* 还可以使用 display: inline-grid; 将容器变成行内网格 */
  /* grid-template-rows 和 grid-template-columns 定义网格行和列的大小和结构 */
  grid-template-rows: 100px 200px 100px;
  grid-template-columns: repeat(3, 1fr);
  /* 1fr 表示相等的可用空间,repeat(3, 1fr) 表示重复3次,每次占用1份可用空间 */
  grid-gap: 10px; /* 定义网格项之间的间隔 */
}

2. 定义网格项:
.item {
  /* 可以使用 grid-row 和 grid-column 属性指定网格项占据的行和列 */
  grid-row: span 2; /* 网格项占据的行数 */
  grid-column: 2 / 4; /* 网格项起始列和结束列 */
}

3. 网格布局属性:

  •  grid-template-rows:定义行的大小。

  •  grid-template-columns:定义列的大小。

  •  grid-gap:定义网格项之间的间隔。

  •  grid-row:指定网格项占据的行。

  •  grid-column:指定网格项占据的列。


4. 示例:
<div class="container">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
</div>

5. 响应式设计:

你可以使用媒体查询来针对不同的屏幕尺寸定义不同的网格布局,以实现响应式设计。
@media screen and (max-width: 600px) {
  .container {
    grid-template-columns: repeat(1, 1fr);
  }
}

以上是 CSS 网格布局的基础用法。此外,CSS 网格布局还支持更多高级功能,如命名网格线、网格模板区域等,以满足更复杂的布局需求。


转载请注明出处:http://www.zyzy.cn/article/detail/12594/CSS3