无需登录 数据私有 本地保存

CSS Grid交互演示 - 网格布局可视化学习

38
0
0
0

CSS Grid 交互演示

可视化学习网格布局 · 实时预览 · 一键复制CSS代码

基本设置
当前约 3 列
对齐设置
网格项管理
实时预览 3列 · 6项
生成的CSS代码
CSS Grid 常见问题与知识点

CSS Grid(网格布局)是CSS中用于二维布局的强大工具,可以同时控制行和列。而Flexbox主要用于一维布局(单行或单列)。Grid适合页面整体结构、卡片网格等复杂布局;Flexbox适合导航栏、列表项等线性排列。两者可以配合使用,发挥各自优势。

fr(fraction)是Grid专用的弹性单位,代表网格容器中可用空间的一份。例如 1fr 2fr 表示将可用空间分成3份,第一列占1份,第二列占2份。与百分比不同,fr会在减去gap和其他固定尺寸后自动计算剩余空间,非常灵活。

使用 repeat(auto-fill, minmax(最小宽度, 1fr))repeat(auto-fit, minmax(最小宽度, 1fr)) 可以创建自动响应式的网格,无需媒体查询。例如:grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 会在容器宽度变化时自动调整列数。

justify-content 控制整个网格在容器中的水平分布(当网格总宽度小于容器时生效),如居中对齐、两端对齐等。justify-items 控制每个网格项在其单元格内的水平对齐方式(start/center/end/stretch)。简单记:content管整体,items管个体

两者都与 repeat()minmax() 配合使用。auto-fill 会保留空轨道(即使没有足够内容填充),auto-fit 会折叠空轨道并将空间分配给已有项目。实际使用中,auto-fit更常用于让内容填充整个容器宽度。

使用 grid-column: span N; 让项目跨越N列,grid-row: span N; 跨越N行。也可以使用网格线编号:grid-column: 1 / 3; 表示从第1条线到第3条线(占2列)。在上方的演示工具中点击任意网格项即可调整其跨度。

minmax(最小值, 最大值) 定义轨道的最小和最大尺寸。例如 minmax(200px, 1fr) 表示轨道至少200px宽,最多占1份弹性空间。常与auto-fit/auto-fill配合实现响应式布局,确保列不会太窄也不会浪费空间。