Flexbox适合一维布局如导航栏和居中对齐,通过display: flex;配合justify-content和align-items实现;Grid适用于二维布局如三栏页面,用display: grid;结合grid-template-columns和gap快速划分结构;两者可结合使用,分别处理局部与整体布局。
想要在HTML中实现快速布局,现代CSS的Flexbox和Grid是最有效的工具。它们能帮你轻松完成响应式设计、居中对齐、等高列等常见布局需求,无需依赖浮动或定位技巧。
Flexbox 适合处理单行或单列的布局场景,比如导航栏、卡片排列、内容垂直居中等。
基本用法:
1. 给父容器设置display: flex;常用属性示例:
- flex-direction: 控制主轴方向(row / column)实用例子:水平垂直居中
给父元素添加:display: flex;
justify-content: center;
align-items: center;
height: 100vh;
CSS Grid 更强大,适合复杂页面结构,比如两栏+页脚、卡片网格、杂志式排版。
基本用法:
1. 父容器设置display: grid;grid-template-areas 可视化布局常用属性示例:
- grid-template-columns: 定义每列宽度(如 1fr 1fr 或 repeat(3, 1fr))实用例子:三栏自适应布局
display: grid;
grid-template-columns: 200px 1fr 200px;
gap: 20px;
左边固定200px,中间自适应,右边固定200px,自动形成三栏。
两者不冲突,可结合使用。关键看布局维度:
- 一维布局(只关心行或列)→ 用 Flexbox比如一个网页用 Grid 分成头部、侧边栏、主内容区,而每个区域内部按钮排列用 Flexbox 处理。
基本上就这些。掌握 Flexbox 和 Grid 后,大多数布局问题都能几行代码解决,不再需要复杂的 hack 方法。关键是多练习典型场景,熟悉属性组合效果。