grid里面显式网格属性 grid-template-rows、grid-template-columns 和 grid-template-areas, 隐式网格属性 grid-auto-rows、grid-auto-columns 和 grid-auto-flow, 间距属性 grid-column-gap 和 grid-row-gap都是用来设置什么属性的,具体要怎么使用,
时间: 2025-05-22 14:34:18 浏览: 40
### CSS Grid 布局中的显式和隐式网格属性及间距属性
#### 显式网格属性
`grid-template-rows` 和 `grid-template-columns` 定义了显式网格的行和列的高度与宽度。当使用 `auto` 值时,其行为取决于内容的实际大小或其他约束条件[^3]。
```css
.grid-container {
display: grid;
grid-template-columns: 100px auto 200px; /* 列宽分别为固定值、自适应和固定 */
grid-template-rows: 50px auto; /* 行高分别为固定值和自适应 */
}
```
`grid-template-areas` 提供了一种直观的方式来命名并安排网格区域的位置。通过字符串形式定义每个单元格所属的名称来构建布局结构[^1]。
```css
.grid-container {
display: grid;
grid-template-areas:
"header header"
"sidebar content"
"footer footer";
grid-template-rows: 100px 300px 50px;
grid-template-columns: 150px 1fr;
}
.item-header { grid-area: header; }
.item-sidebar { grid-area: sidebar; }
.item-content { grid-area: content; }
.item-footer { grid-area: footer; }
```
#### 隐式网格属性
对于超出显式定义范围的内容项,CSS Grid 自动创建额外的空间称为隐式网格。这由 `grid-auto-rows` 和 `grid-auto-columns` 控制,默认情况下它们会采用最小可能尺寸以容纳溢出项目[^2]。
```css
.grid-container {
display: grid;
grid-template-columns: repeat(3, 100px); /* 创建三列各占100像素 */
grid-template-rows: 100px; /* 单独一行占据100像素 */
grid-auto-rows: 60px; /* 如果有更多子元素,则新增每行列高为60像素 */
}
```
`grid-auto-flow` 决定如何处理未被分配到任何明确位置上的项目。它可以取值为 row 或 column 来优先填充新生成的行或者列;还可以加上 dense 关键字启用紧密排列模式减少空白间隙[^1]。
```css
.grid-container {
display: grid;
grid-template-columns: repeat(3, 100px);
grid-template-rows: 100px;
grid-auto-rows: 60px;
grid-auto-flow: row dense; /* 新增行并将项目紧凑放置 */
}
```
#### 间距属性
为了调整相邻轨道间的距离可以利用 `grid-column-gap` 和 `grid-row-gap` 设置水平方向(列之间)或垂直方向(行之间)间隔[^4]。
```css
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(2, 100px);
grid-column-gap: 20px; /* 列间留白20像素 */
grid-row-gap: 10px; /* 行间留白10像素 */
}
```
以上就是关于 CSS Grid 的主要属性介绍及其基本用法说明。
阅读全文
相关推荐

















