mikexxz
全部文章

中文网页排版的几个细节 v2

方块汉字填满格子,旁边的拉丁字母留白充足,中间箭头拉开行距,醒目标注1.7

中文和英文混排时,有几个细节值得单独处理。

行高

拉丁字母有升部和降部,视觉上自带留白;汉字是方块字,每个字都把格子填满。所以中文正文需要更大的行高,1.7 左右读起来比较舒服,而英文网页常见的 1.4–1.5 对中文来说太挤了。

行宽

一行太长,眼睛换行时容易找错位置;太短又会频繁换行。17px 的正文配 680px 左右的内容宽度,大约是每行 40 个汉字。

字体

不嵌入网络字体,直接用系统字体栈:苹方、Hiragino、Noto Sans CJK。中文字体文件动辄几 MB,嵌入的代价远大于收益1。

其他

  • 正文不用 text-wrap: pretty:它在英文里能避免末行孤字,在中文段落里却会让行尾参差不齐
  • 标题用 text-wrap: balance,让多行标题长度更均匀
  • 中英文之间的间距(还在考虑要不要用 text-autospace)

脚注

  1. 子集化可以缓解,但对一个文章内容不断变化的博客来说,维护成本不低。 ↩

评论

删除这条评论?

评论内容会被清除,无法恢复。