用grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))可实现列数随容器宽度自动增减,无需媒体查询;auto-fit拉伸剩余空间,auto-fill保留空列;配合gap和justify-content: center优化对齐与间距;可用clamp()限制单列宽在200px–300px间。
用 grid-template-columns 配合 repeat(auto-fit, minmax(...)) 就能自动调整列数,容器变宽多一列,变窄少一列,无需媒体查询。
auto-fit 会把剩余空间分配给已有列(可拉伸),auto-fill 则保留空列占位(不拉伸)。做响应式布局一般选 auto-fit,更实用。
比如每列至少 200px,最多填满容器:
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))minmax(200px, 1fr) 表示单列宽度在 200px 到“均分剩余空间”之间弹性变化加间隙避免拥挤,居中对齐小屏时的单列:
gap: 1rem 控制行列间距(推荐用 gap 而非 margin)justify-content: center 让列整体居中,窄屏下单列不贴左justify-content: start
有时列太多导致内容太窄,可用 minmax() 加上限,或嵌套 clamp():
s: repeat(auto-fit, minmax(clamp(200px, 1fr, 300px), 1fr))