PRODUCT TALK · SIGNAL 序 · INTRO 01 / 08
SPEAKER A梦 · 设计系统组 2026.05.30 · Grid 12
A DATA-FIRST DESIGN SYSTEM

数字,
是这页的主语


瑞士国际主义不是一种装饰,是一种纪律:网格先行、字号对比、单一信号色。 下面 8 页,把这套纪律拆给你看。

封面:bg-dots 满铺 + bg-fade 向下淡出,内容用相对定位压在其上。zh-mega 巨标题 + 极小正文 = 极致字号对比。hl--full 整块红底白字,是整场唯一的强调色。

少,
但更

Weniger, aber besser —— Dieter Rams 的第十条原则。在数据汇报里,它意味着: 一页只留一个结论,其余全部降噪成支撑。

巨标题与正文之间的尺度差,本身就是层级。读者第一眼看到结论,第二眼才看到论据, 顺序由字号强制规定,而非由颜色暗示。

极致字号对比:zh-mega 与 .body 拉到 ~5 倍尺度差,层级靠尺度强制,不靠颜色。左对齐、大留白。
RENDER BUDGET · 7-DAY TREND

单帧渲染中位数,一周降了 41%

8.3ms
从 14ms 降到 8.3ms,掉帧投诉清零。
来源:内部 RUM 抽样 7d · n=12,480(示例数据,发布前替换)
数字 + 折线:左边大数字当结论,右边 .linechart 给趋势。折线 points 必须来自真实数据,颜色走 token,无数据就退回纯数字版式。

网格把页面切成可计算的列


01 · FOUNDATION

Tokens

颜色、间距、字阶全部变量化。改一处,全场跟随。

02 · STRUCTURE

12-Column

一切对齐到 12 栏,span 决定占比,留白也落在栏线上。

03 · SIGNAL

One Accent

全场只有一种红,只用在「需要被看见」的地方。

12 栏网格感:grid-3 等分 + 顶部 hairline rule 分隔。每列结构一致(label / 标题 / 正文),差异在内容不在装饰。

不均匀,但不随意

PRIMARY UNIT
12col

最大的格子放最重的信息。bento 的非对称仍然吸附在 6 列底栅上。

SPAN 2

间距

SPAN 2

字阶

SIGNAL

红色落点

bento = 蓄意的非对称:col-4/row-2 的主格 + 三个 span-2,仍吸附在 6 列底栅。唯一的红落在最后一格,作为视线终点。

从「凭手感」到「凭网格」

BEFORE

每个间距都是 magic number


37px、22px、随手敲的对齐 · 改版即返工 · 没人说得清规则

AFTER ✓

每个间距都来自字阶


8px 节律 · 一处改全场跟 · 新人当天就能对齐

对比页:用一条共享黑边把两栏锁进同一矩形(瑞士网格感)。唯一的红落在右栏 AFTER 的 tag 与分隔线上,引导结论。
SHIPPED, NOT A SPEC

规则只有进了构建才算数

tokens build --target=web
generate css variables
lint contrast (WCAG AA)
snapshot 4 breakpoints
# 一份 token 源,三端同步。
terminal 在瑞士主题里依然成立——它本身就是无圆角、深底的「已上线」证据。强调系统不是 PPT,是构建产物。

先定网格
再谈风格。


— 把这套 token 拿走,从你最乱的那一页开始。

收束:巨标题陈述结论,单一红色作为句读。一条 2px 黑线收尾,不加任何装饰——瑞士的克制本身就是结尾。