使用fr单位、minmax()函数和媒体查询实现响应式网格布局,通过repeat(auto-fit, minmax(200px, 1fr))自动调整列数并均分空间,在不同屏幕下设置1fr、repeat(2,1fr)、repeat(4,1fr)适配手机、平板和桌面,确保布局弹性自适应。

使用 grid-template-columns 实现响应式布局,关键是结合 CSS 函数和媒体查询,让列宽能根据屏幕尺寸自动调整。下面介绍几种实用方法。
使用 fr 单位分配剩余空间
fr(fraction)单位表示网格容器中可用空间的一部分。它非常适合创建等宽或比例分布的列。
• auto-fill 和 auto-fit 配合 minmax() 使用时效果最佳 • 例如:repeat(auto-fit, minmax(200px, 1fr)) 会自动换行并均分宽度结合 minmax() 创建弹性列
minmax() 可以设置列的最小和最大尺寸,常用于确保内容不会溢出或过窄。
• minmax(200px, 1fr) 表示列最小 200px,最大占满剩余空间 • repeat(auto-fill, minmax(150px, 1fr)) 在容器变小时自动减少每行列数用媒体查询控制不同设备下的列数
在不同屏幕宽度下,可以显式定义 grid-template-columns 的值。
立即学习“前端免费学习笔记(深入)”;
• 手机端:grid-template-columns: 1fr; • 平板:grid-template-columns: repeat(2, 1fr); • 桌面:grid-template-columns: repeat(4, 1fr);基本上就这些。灵活运用 fr、minmax() 和媒体查询,就能让网格列自然适应各种屏幕。不复杂但容易忽略细节。










