ZH
我的工具

CSS 网格生成器

设置列与行模板、间距、命名的 grid-template-areas 和对齐方式,生成 CSS 网格布局。提供经过校验的 CSS 和 HTML,以及浏览器实时预览。

每行写一行网格,每个单元格写一个名称,空单元格用“.”。每个名称必须构成一个矩形。
我的工具 →
广告

CSS 网格同时按行和列来布局页面。这个生成器根据你的列和行模板(repeat()、fr、minmax()、auto-fill)、间距和对齐方式写出容器规则;把命名区域的简单文字草图转换成 grid-template-areas,并为每个区域生成一条 grid-area 规则;同时给出对应的 HTML。它会先检查语法——未知的轨道尺寸、长度不一的行以及非矩形的区域都会被报告,而不是被默默忽略——并在你自己的浏览器中渲染布局。

使用方法

  1. 输入列模板,例如 repeat(3, 1fr) 或 200px 1fr。
  2. 可以再输入行,并按每行一行网格来勾勒命名区域。
  3. 设置行间距、列间距和项目对齐方式。
  4. 复制 CSS 和 HTML;预览显示浏览器计算出的布局。

计算公式

display: grid; grid-template-columns: <轨道>; grid-template-rows: <轨道>; grid-template-areas: "a a" "b c"; gap: <行> <列>;

轨道可以是长度(200px)、弹性分数(1fr)、auto、min-content、max-content、minmax(min, max) 或 fit-content()。在 grid-template-areas 中,每一行必须有相同数量的单元格,每个名称必须覆盖一个矩形;“.”表示留空。

示例

列 200px 1fr、行 auto 1fr auto,区域为“header header / sidebar main / footer footer”,得到经典的页面布局:2 列 × 3 行,用 gap: 16px 24px 让行间距 16 px、列间距 24 px,并生成 .header { grid-area: header; } 之类的规则。默认的 repeat(3, 1fr) 配 6 个项目,则是 3 个等宽列 × 2 行。

常见问题

1fr 是什么意思?

在放置固定轨道和间距之后,剩余空间中的一份。200px 1fr 让第二列占据所有剩余空间;1fr 2fr 则按三分之一和三分之二分配。

该用 auto-fill 还是 auto-fit?

两者都会创建尽可能多的列。项目较少时,auto-fill 保留空轨道,auto-fit 则把空轨道折叠,使项目撑满整行。

为什么我的 grid-template-areas 被忽略了?

如果有一行的单元格数量不同,或者某个名称不构成矩形(例如 L 形),浏览器会丢弃整个值。这个生成器会准确指出是哪个名称或哪一行有问题。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). CSS 网格生成器. https://kakao.mobile/zh/tools/css-grid-generator/

MLA

“CSS 网格生成器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/css-grid-generator/.

广告