Flexbox vs Grid
CSS Flexbox 和 Grid 是现代布局的两大利器。简单来说:
- Flexbox:一维布局(行或列)
- Grid:二维布局(行和列)
Flexbox 常用模式
居中
.center {
display: flex;
justify-content: center;
align-items: center;
}
等分布局
.equal-width {
display: flex;
gap: 1rem;
}
.equal-width > * {
flex: 1;
}
Grid 常用模式
响应式网格
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
}
经典的圣杯布局
.layout {
display: grid;
grid-template:
"header header header" auto
"nav main aside" 1fr
"footer footer footer" auto
/ 200px 1fr 200px;
}
实用技巧
间隔控制
.stack > * + * {
margin-top: 1rem;
}
宽高比
.ratio {
aspect-ratio: 16 / 9;
}
总结
掌握 Flexbox 和 Grid,你就能用最简洁的代码实现几乎所有的布局需求。关键是理解它们各自的适用场景:一维用 Flexbox,二维用 Grid。