使用CSSline-height属性提高可读性

来自菜鸟教程
跳转至:导航、​搜索

在本文中,您将了解 CSS line-height 属性以及如何使用它来创建视觉上令人愉悦、可读的文本。

您之前可能已经看到 line-height 被使用过:

p {
  font-size: 16px;
  line-height: 1.2;
}

但它是如何工作的,它在 CSS 中起什么作用?

CSS中的排版根

CSS 中的许多想法都来自 排版 的学科。 一个例子是 CSS line-height 属性,它设置了环绕文本的两个基线之间的距离。

“基线”是文本所在的假想线。

例如,如果我们在 <div> 标记内有这个简短的文本片段:

<div>
  The alligator went for a swim in the deep lagoon.
</div>

如果您拖动浏览器窗口使文本换行到下一行,您将有两个基线和一个行高(用黄色箭头表示):

CSS line-height 属性的较大值会扩大这个距离,较小的值会缩小它。



行高和文本可读性

line-height 属性在使文本对用户可读方面起着核心作用。 当您缩小 line-height 时,它会感到拥挤。 长时间阅读这样的文本会让用户感到筋疲力尽:

如果它太大,用户将难以参与他们正在阅读的内容:

但是当你找到合适的line-height,你的文字会感觉宽敞和谐💮🌺🌸

找到合适的 line-height 会根据您的需求而有所不同,但它 也取决于您使用的字体系列。 这是因为每种字体都有自己的个性,并且会“阅读”在大量文本中有所不同。

例如,Helvetica 和 Times New Roman 将需要不同的 line-height 间距,即使它们都具有相同的 font-size

行高的语法

您可以为 line-height 提供各种值! 它也与其他 CSS 属性完全不同,因为它可以接受典型的 px% 值,但它也有自己独特的“无单位”值:

/* Use browser default.
 Typically "1.2" for
 all the major browsers */
line-height: normal;

/* Unitless (only line-height can do this!) */
line-height: 1.2;

/* <length> values like px, rem, em, pt */
line-height: 3em;

/* <percentage> values */
line-height: 120%;

line-height 用黄色箭头表示。

浏览器如何计算行高

如果您使用百分比或“无单位”值,则字体大小将被计入生成的 line-height。 例如,下面的两个片段都会被浏览器计算为 19.2px

.myText {
  font-size: 16px;
  line-height: 1.2  /* (19.2px = 16 x 1.2) */
}
.myText {
  font-size: 16px;
  line-height: 120%;  /* (19.2px = 16 x 1.2) */
}

但是,如果您使用 px|em|rem|pt 之类的“长度”值,则 font-size 将不会用于计算 line-height

.myText {
  font-size: 16px;
  line-height: 20px;  /* Always 20px! */
}

虽然百分比和“无单位”值似乎相同,但存在细微差别。 最佳实践建议尽可能使用“无单位”值 [1]


结论

一般来说,对于大多数字体来说,好的 line-height 范围在 1.5 到 1.7 之间。 例如,Alligator.io 使用 1.6 的行高。 它更像是艺术而不是科学,很多时候你会发现自己打开浏览器的“开发者工具”来轻推 line-height 直到感觉“恰到好处”✨👌

要了解更多信息,请访问 MDN 以获取有关 line-height 的文档。