Skip to content
返回设计中心

排版系统与字号阶

模块化字号阶、行高比、响应式 clamp() 字号,处处可读文本。

设计令牌进阶

为什么

不一致字号(这里 14px、那里 13px、模态 15px)让 UI 显得不用心并损害可读性。从一比率的模块化阶给出和谐字号,跨视口流畅缩放。

Tokens Studio(原 Figma Tokens)有 50 万以上安装量,W3C 设计令牌格式模块即将成为候选推荐。令牌从单一来源实现暗色模式、多品牌主题和平台一致性。

何时使用

设计屏前定义字号阶。若已用 8+ 字号,审计并合并到阶上 — 多数产品仅需 5-7 字号。

如何做

1. 选基 — 16px(1rem)正文,浏览器默认且最可读 2. 选比率 — 1.25(大三度)密集 UI,1.333(纯四度)编辑型 3. 生成阶 — base × ratio^n,n 从 -2..+4,四舍五入到 rem 保留 2 位 4. 行高 — 正文 1.5、标题 1.25、展示 1.1 5. 流体字号 — clamp(min, preferred vw, max) 使标题随视口增长 6. 字体加载 — 预加载 woff2、font-display: swap、子集 latin + cjk 7. 令牌 — --font-size-{-2..4}、--line-height-{body|heading|display}

示例

// typography-tokens.css — 模块化阶(比率 1.25,基 1rem) :root { --font-size--2: 0.64rem; /* 10px — 说明 */ --font-size--1: 0.80rem; /* 13px — 小 */ --font-size-0: 1.00rem; /* 16px — 正文 */ --font-size-1: 1.25rem; /* 20px — h4 */ --font-size-2: 1.56rem; /* 25px — h3 */ --font-size-3: 1.95rem; /* 31px — h2 */ --font-size-4: 2.44rem; /* 39px — h1 */ --line-height-body: 1.5; --line-height-heading: 1.25; } /* 流体 h1 — 640px 到 1024px 视口间从 28px 增到 39px */ h1 { font-size: clamp(1.75rem, 2vw + 1rem, var(--font-size-4)); line-height: var(--line-height-heading); } /* 字体加载 — 预加载 + swap 避免 FOIT */ /* <link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin> */ @font-face { font-family: "Inter"; src: url("/fonts/inter.woff2") format("woff2"); font-display: swap; }

常见问题

  • ⚠字号过多 — 用 14 个字号,半数差 1px,无法保持一致
  • ⚠固定 px 字号 — 不随用户浏览器字号设置缩放,破坏 a11y
  • ⚠字体加载 FOIT — web 字体下载时文本不可见 3s

最佳实践

  • ✓用 rem 非 px — 尊重用户字号设置,WCAG 1.4.4 缩放所必需
  • ✓阶上限 7 字号 — 若需第 8 个,层级错了,重设计
  • ✓始终 font-display: swap — 立即显示回退文本,字体到达时替换

常见问题解答