CSS Grid 布局指南
学习用于二维布局的 CSS Grid。使用 grid-template 和 grid-area 创建复杂的响应式设计。
Grid 基础
CSS Grid 是一种二维布局系统,可同时控制行和列:
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto;
gap: 16px;
}定义网格
grid-template-columns定义列的大小和数量
grid-template-columns: 200px 1fr 1fr; /* 固定 + 弹性 */
grid-template-columns: repeat(3, 1fr); /* 3 等分 */
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));grid-template-rows定义行的大小
grid-template-rows: 100px auto 100px;间距和对齐
gap行列间距row-gap行间距column-gap列间距justify-items水平对齐项目align-items垂直对齐项目place-items简写属性网格区域
.container {
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
}
.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.footer { grid-area: footer; }常见布局示例
响应式网格
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}圣杯布局
.container {
display: grid;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
grid-template-columns: 200px 1fr 200px;
}相关工具
Grid 生成器
可视化 Grid 布局