文章列表和项目卡片经常需要多列布局。CSS Grid 可以根据容器宽度自动调整列数,减少手写多个断点的工作。

使用 minmax 设置列宽范围

CSS
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 1rem;
}

每列至少需要约 15rem 的宽度,空间充足时平分剩余区域;容器变窄时,列数会自动减少。

检查内容变化

布局测试时不要只看相同长度的标题。把较长标题、空描述和较窄视口也放进页面,确认卡片高度与阅读顺序仍然清楚。

什么时候用 Flexbox

单行导航、按钮组等一维排列常用 Flexbox;需要同时控制行和列时,Grid 通常更直接。两者可以按布局关系组合使用。