CSS 前端 设计

现代 CSS 布局指南

探索 Grid、Flexbox、Container Queries 等现代 CSS 布局技术的最佳实践。

现代 CSS 提供了强大的布局能力,让我们能以更少的代码实现更复杂的布局。

CSS Grid

Grid 是二维布局的最佳选择:

.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

Flexbox

Flexbox 适合一维布局,特别是在需要对齐和分布空间时:

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

Container Queries

容器查询让组件能根据自身容器的大小进行响应式调整,而非视口大小:

.card-container {
  container-type: inline-size;
}

@container (min-width: 400px) {
  .card {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

实战:博客卡片布局

结合以上技术,下面是一个博客卡片布局示例:

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr));
  gap: 1.5rem;
}

.blog-card {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
}

总结

现代 CSS 布局工具已经非常成熟。Grid + Flexbox + Container Queries 的组合几乎能应对所有布局场景,不再需要依赖第三方布局库。