跳到主要内容
文心 · 万形

字体排版

正文衬线,界面无衬线,代码等宽。中文优先的行长与留白。

四个字族

显示体 —— Lora + 思源宋体

正文字体 —— EB Garamond + 思源宋体。长文阅读的默认字体;衬线让长段落里的字形更易分辨。

界面字体 —— system-ui + 苹方 / 微软雅黑。用于标签、按钮、表单和元数据。

等宽字体 —— JetBrains Mono。用于代码和数字。

拉丁字体自托管并带 unicode-range 子集;中文回退到系统字体, 不通过 CDN 加载——一个中文字体家族动辄数 MB,长期访问与离线复现的成本都太高。

字号阶梯

4.5rem · text-5xl

2.25rem · text-3xl

1.5rem · text-xl

1rem · text-base —— 正文

0.833rem · text-sm —— 界面

0.694rem · text-xs —— 元数据下限

行长与行高

拉丁文 60–75 字符,中文 30–40 字。.wx-measure 直接封装了这条规则, 并按 :lang(zh) 切换到 36em。

这段文字被限制在最佳阅读行长内。行长过长时眼睛在换行处容易丢失位置, 过短则频繁换行打断节奏。中文因为字符密度高,合适的行长比拉丁文短得多。

行高 token:--leading-tight 1.25 · snug 1.45 · normal 1.6 · relaxed 1.85(长文正文)· loose 2.0。

内容排版组件

眉题 Eyebrow

标题

导语 lede —— 比正文大一档,承担摘要功能。

首字下沉用于长文开篇。这是一段示例正文,用来展示下沉字与后续文字的关系; 窄画布下会自动取消下沉,因为三行高的首字会吃掉本就有限的行长。

分组不靠方框,靠邻近。

组件通用原则

引言 pullquote 用于强调,语义与 quote 不同

中文排版细节

  • 字间距 --tracking-chinese: 0.1em——中文标题需要比拉丁文更松的字距
  • 标点——使用全角标点,不在行首出现闭合标点
  • 中西文混排——数字与拉丁词两侧留出空隙;本包不自动插字距,内容编辑手动处理,或先在目标浏览器与内容中验证 text-spacing 后再启用
  • 禁止大段正文居中对齐——伤害可读性