CSS 现代布局完全指南

现代 CSS 已经提供了强大而直观的布局方案。本文将梳理 Flexbox、CSS Grid 和最新的 Container Queries。

Flexbox

Flexbox 适合一维布局。它沿主轴排列子元素,并提供灵活的对齐和分配空间的能力。

.nav-list {
  display: flex;
  align-items: center;
  gap: 8px;
}

CSS Grid

Grid 是真正的二维布局系统,同时控制行和列:

.post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

Container Queries

Container Queries 是响应式设计的下一阶段,它允许基于容器宽度(而非视口宽度)来调整样式:

@container (min-width: 400px) {
  .card {
    flex-direction: row;
  }
}

实践建议

  • 一维布局用 Flexbox
  • 二维布局用 Grid
  • 组件级响应式用 Container Queries
  • 始终使用 gap 而非 margin 来设置间距

掌握这些现代 CSS 技术,你将能写出更简洁、更可维护的布局代码。