使用CSS Grid实现等宽列布局可通过grid-template-columns配合fr单位,如repeat(3, 1fr)创建三等分列;结合minmax(200px, 1fr)与auto-fit可实现响应式自适应列数,gap设置间距不影响等宽效果,布局简洁且灵活。

使用CSS Grid实现等宽列布局非常简单,关键在于合理利用grid-template-columns和fr单位来分配空间。这种方式不仅能让列宽自适应容器,还能保持各列宽度一致。
基本语法:定义等宽列
通过grid-template-columns属性设置每列的宽度。使用fr(fraction)单位可以让列平均分配可用空间。
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
这会将容器分为三个等宽列,每列占总可用宽度的三分之一。
使用repeat()简化代码
当列数较多时,手动写多个1fr显得冗长。可以使用repeat()函数简化。
立即学习“前端免费学习笔记(深入)”;
比如创建4个等宽列:.container {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
这样更简洁,也更容易维护。如果需要5列或6列,只需修改数字即可。
响应式等宽列(配合minmax)
为了让布局在不同屏幕下更灵活,可以结合minmax()和auto-fit实现自适应列数。
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
浏览器会根据容器宽度自动计算能放下多少列,每列最小200px,多余空间平均分配,始终保持等宽。
处理间距(gap的影响)
使用gap添加列间间距不会破坏等宽效果,Grid会自动在计算时排除间距占用的空间。
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
三列仍保持等宽,间隙为20px,Grid会自动调整每列实际宽度以适应间距。
基本上就这些。用1fr、repeat()和minmax()组合,就能轻松实现各种等宽且自适应的网格布局。不复杂但容易忽略细节,比如auto-fit和auto-fill的区别,但在大多数场景中auto-fit更实用。










