用途:提供一套 CSS 排版实践,用于构建可读、视觉协调的文本系统,适用于内容站点、博客、文档与组件界面。
主要能力:
- 字号比例(Type Scale):基于数学比率生成协调字号,如 Major Third(1.25),并给出常见比例对照(Major Second 1.125、Minor Third 1.2、Perfect Fourth 1.333、Augmented Fourth 1.414、Golden Ratio 1.618)及适用场景。
- 流体字号:用 clamp() 在断点间缩放字号;组件内用容器查询单位(cqi)配合 container-type。
- 层级:用字号、字重、间距、颜色建立标题与正文的层级,标题启用 text-wrap: balance,大字号收紧字距。
- 垂直节奏:以基线(--baseline)为基准,用 calc() 派生间距,配合行高规范(标题 1.1–1.3、正文 1.5–1.6、长文 1.6–1.8)。
- 字体搭配:对比、超家族、互补等策略,提供安全系统字体栈与常见网页字体搭配,以及字体预加载与 font-display: swap 的加载方式。
- 文本细节:text-wrap(balance/pretty/stable/nowrap)、悬挂标点 hanging-punctuation、连字符、孤行寡行控制、行宽约束(正文约 65ch,技术内容 80ch 等)。
- OpenType 与可变字体:字距调整、连字、表格数字、旧式数字、小型大写、分数,以及可变字体的 wght、wdth、slnt、ital、opsz 轴。
- 响应式与可访问性:触摸目标最小 44px、减少动效、高对比模式、深色模式字号调整、使用 rem 尊重用户偏好、正文不小于 16px、颜色对比满足 WCAG AA。
使用方式:以 CSS 自定义属性(设计令牌)组织字体、字号、字重、行高、字距与基线,按需在标题、正文、说明文本上应用对应规则。
限制:悬挂标点目前仅 Safari 支持,需作渐进增强;balance 与 pretty 的浏览器实现存在差异;孤行寡行主要影响打印与多栏布局。