Home/Journal

把界面还给内容

一次对 journal 阅读页排版参数的走查——字号、行高、衬线与留白如何共同决定长文的质感。

· 清凤 · 433 字

一篇长文首先是一串排版的决定。字号给多大、行高留多少、栏宽压到多窄——这些参数在读者意识到它们之前,就已经决定了阅读是顺畅还是费力。

好的排版是不被注意的排版。它只负责让内容自己说话。

栏宽与字号

正文的栏宽比字号更影响阅读。栏太宽,视线从行尾跳回行首要穿越整屏;栏太窄,折行又太频繁。这篇走查用的是 760px 的栏宽,配 17px 的正文。

几个基准参数:

代码与引用

行内代码应该自然地沉在句子里,比如 const spacing = '1em' 这样的片段,底色chip、字号略小一档即可。

块级代码需要自己的容器:

function rhythm(base: number, ratio: number, steps: number) {
  return Array.from({ length: steps }, (_, i) =>
    Math.round(base * Math.pow(ratio, i) * 100) / 100,
  );
}

引用块用衬线是个不错的选择——衬线的气质天然偏向”被引述的话”,和正文的无衬线形成一层无声的层级。


更深一层的标题

第三层标题出现频率低,不需要太强的视觉重量,尺寸只比正文大半档就够了。表格则是另一回事:

元素字号字重备注
正文17px330行高 1.65
小节标题24px450tracking-tight
行内代码0.85em400chip 底色

最后

排版走查的终点永远是读起来”没感觉”。任何一处让你注意到参数本身的地方,都是参数还没调对的地方。如果这篇 mock 文章读起来平淡无奇,那它就算完成了任务。