CSS 现代布局速查
写 CSS 十几年,布局方案从表格、浮动、Flexbox 一路用到 Grid。现在可以很确定地说:Flexbox 和 Grid 组合,能解决 99% 的布局问题。
Flexbox:一维布局
适合「一行/一列里排列若干元素」的场景:
.nav {
display: flex;
justify-content: space-between; /* 两端对齐 */
align-items: center; /* 垂直居中 */
gap: 16px; /* 元素间距 */
}Grid:二维布局
适合「行和列同时控制」的场景,比如这个博客的侧栏 + 内容区:
.layout {
display: grid;
grid-template-columns: 1fr 320px; /* 内容自适应 + 侧栏固定 */
}记住几个关键字就够了
justify-content:主轴对齐align-items:交叉轴对齐gap:间距minmax(0, 1fr):防止内容撑破格子auto-fit/auto-fill:自动计算列数
超过三分之二的布局问题,用这几个属性就能表达清楚。