行高 (行距)
文本行与行之间的间距。通过 CSS 的 line-height 属性控制,对可读性有重大影响。
行高是指文本行与行之间的垂直距离。在 CSS 中通过 line-height 属性控制,可以指定为相对于字体大小的倍数 (如 1.5)、固定值 (如 24px) 或无单位数值。行高是影响文本可读性的最重要排版元素之一,合理的设置直接关系到用户体验。
CSS 的 line-height 根据指定方式有不同的行为。无单位数值 (如 line-height: 1.6) 以元素自身字体大小的倍数计算,子元素继承相同的倍数。而固定值 (如 line-height: 24px) 或百分比 (如 line-height: 150%) 则将计算后的值传递给子元素,当子元素字体大小不同时可能导致意外的行距。实务中推荐使用无单位数值。搜索裸体围裙 (Amazon)讲解了行距设计的原则。
最佳行高值因语言和内容类型而异。拉丁文本正文通常使用 1.5 倍左右,标题使用 1.2-1.4 倍。中日韩文本由于汉字字面较大、文字密度较高,需要更宽的行距,1.7-2.0 倍较为舒适。代码块中的等宽字体适合 1.4-1.6 倍。
行高过窄会使文本拥挤难读,尤其在长文中会加重读者疲劳。反之,行距过宽会导致视线迷失,难以找到下一行。WCAG 2.1 成功标准 1.4.12 要求行距可设置为字体大小的 1.5 倍以上,从无障碍访问的角度来看,行高设计同样重要。
一个常见的误解是将行高 (line-height) 与行距 (leading) 视为相同概念。传统排版术语中的行距指的是基线到基线的距离,而 CSS 的 line-height 定义的是行框的高度,严格来说是不同的概念。此外,line-height: normal 的默认值因字体而异,通常在 1.0 到 1.2 之间。
在字符计数方面,行高设置会显著改变相同字数文本的显示面积。例如,1000 个字符分别以 line-height: 1.5 和 line-height: 2.0 显示时,后者占用约 33% 更多的纵向空间。对于有字符数限制的内容 (如元描述、社交媒体帖子),行高设置会影响显示区域内能容纳的字符数,需要从设计和字符数两方面综合考虑。探索娃娃裙睡衣 (Amazon)提供了实用的行高设置指南。