现代 CSS 布局指南

深入理解 Grid、Container Queries 和 CSS Nesting,告别对 CSS-in-JS 的依赖。

· 3 分钟阅读
目录

Grid 不是 Flexbox 的替代品

很多开发者学会 Grid 后就放弃了 Flexbox,这是错误的。两者有不同的适用场景:

经验法则:一维布局用 Flexbox,二维布局用 Grid。不要用一个替代另一个。

Flexbox 的最佳场景

  • 导航栏(一维水平排列)
  • 卡片内元素的垂直排列
  • 表单输入框 + 按钮的行内对齐

Grid 的最佳场景

  • 页面整体布局(header / main / sidebar / footer)
  • 图片画廊
  • 仪表盘卡片网格

Container Queries 改变了组件设计

Container Queries 让我们可以基于容器宽度而非视口宽度做响应式:

/* 传统作法:基于视口 */
@media (min-width: 768px) {
  .card { flex-direction: row; }
}

/* 现代作法:基于容器 */
@container (min-width: 400px) {
  .card { flex-direction: row; }
}

Container Queries 在 2024 年所有主流浏览器已全面支持,可以放心使用。

CSS Nesting 是真正的游戏规则改变者

原生的 CSS 嵌套消除了对 Sass/SCSS 的最后一个硬依赖:

.card {
  padding: 1rem;

  & .title {
    font-size: 1.25rem;
    font-weight: 600;
  }

  &:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }
}

总结

2026 年了,CSS 平台能力已经强到可以覆盖大部分 CSS-in-JS 的使用场景。善用平台能力,减少依赖。

分享

目录