CSS Grid 网格布局完整指南:从容器到项目,实战详解

一、什么是 Grid 布局?

Grid 布局(网格布局)是 CSS 中最强大的布局方案之一。它将网页划分为一个个网格,可以任意组合不同的行和列,实现复杂且响应式的布局效果。与 Flex 布局(一维布局)不同,Grid 是二维布局,可以同时控制行和列。

Flex 布局是轴线布局,只能针对项目在轴线上排列;Grid 布局则是将容器划分为单元格,直接控制项目所在区域。

二、基本概念

2.1 容器与项目

三、容器属性详解

3.1 定义网格:grid-template-columns / grid-template-rows

3.5 对齐方式

项目在单元格内的对齐:
整个内容区域在容器内的对齐:

3.6 隐式网格:grid-auto-rows / grid-auto-columns

当项目超出明确定义的网格时,用于设置自动创建的行/列大小。

  • 容器 :采用 display: griddisplay: inline-grid 的元素。

  • 项目 :容器的直接子元素 (注意:不是所有后代元素)。

    2.2 行、列、单元格、网格线

  • :水平的网格区域

  • :垂直的网格区域

  • 单元格:行和列的交叉区域

网格线 :划分网格的线,n 行有 n+1 条水平网格线,m 列有 m+1 条垂直网格线3.2 网格间距:gap3.3 网格区域:grid-template-areas

3.4 自动排列:grid-auto-flow

控制项目自动排列的方向:

  • row(默认):先行后列

  • column:先列后行

  • row dense / column dense:尽量填满空格

  • justify-items:水平对齐(start | end | center | stretch)

  • align-items:垂直对齐

  • place-items: <align-items> <justify-items>

  • justify-content:水平对齐

  • align-content:垂直对齐

  • place-content: <align-content> <justify-content>

四、项目属性

4.1 指定项目位置4.2 指定项目所在区域:grid-area4.3 单个项目对齐:justify-self / align-self / place-self

五、实战示例:经典布局

5.1 两栏布局5.2 十二网格系统5.3 圣杯布局(Header, Main, Sidebar, Footer)六、总结

Grid 布局非常适合构建复杂的、响应式的网页结构,是现代 CSS 布局的必备技能。

相关推荐
IVEN_8 分钟前
本地正常,Docker 怎么就空白:Next.js SSR 的 Alpine musl DNS 陷阱
前端·docker·next.js
凡人叶枫8 分钟前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发
用户8876654266310 分钟前
Web3 前端实时通信如何落地:从 SSE 订阅到行情、订单与账户状态更新
前端·react.js·web3
an3174213 分钟前
使用 LangGraph + DeepSeek 构建 AI 面试官:状态图设计与实践
前端·ai编程
代码不加糖14 分钟前
MessageChannel是什么,有什么使用场景?
前端·javascript
小小龙学IT18 分钟前
HTMX:让 HTML 重新成为前端核心的超轻量动态交互库
前端·html·交互
星栈19 分钟前
写 Makepad Demo 不难,难的是把它写成项目
前端·rust
用户0595401744620 分钟前
localStorage清除策略踩坑实录:一个过期的token让我排查了3小时
前端·css
Nanachi22 分钟前
跨框架的前端源码定位,再加上点LLM
前端
人无远虑必有近忧!42 分钟前
fetch请求图片报跨域
前端·javascript