本文介绍了CSS中的line-height属性,解释了其工作原理,如何影响文本可读性和视觉效果,以及如何找到适合的值以优化用户体验。作者强调了实践中调整行高的艺术性。
在本文中,您将了解 CSS line-height
属性以及如何使用它来创建视觉上愉悦、易读的文本。
您可能以前见过 line-height
的使用:
p { font-size: 16px; line-height: 1.2; }
但它是如何工作的,以及在 CSS 中扮演着什么角色呢?
CSS 中的排版根源
CSS 中的许多概念都源自排版学科。一个例子就是 CSS 的 line-height
属性,它设置了换行文本两个基线之间的距离。
“基线”是文本所在的虚拟线。
!基线演示
例如,如果我们在
标签中有这样一小段文本:
<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 即使它们的 font-size
相同,也需要不同的 line-height
间距。
line-height 的语法
您可以使用各种值来设置 line-height!它与其他 CSS 属性非常不同,因为它可以接受典型的 px
和 %
值,但它还有自己独特的“无单位”值:
/* 使用浏览器默认值。通常为所有主要浏览器的 "1.2" */ line-height: normal; /* 无单位值(只有 line-height 可以这样做!) */ line-height: 1.2; /* <length> 值,如 px、rem、em、pt */ line-height: 3em; /* <percentage> 值 */ 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; /* 总是 20px! */ }
结论
一般来说,对于大多数字体来说,良好的 line-height
范围在 1.5 到 1.7 之间。例如,Alligator.io 使用的行高为 1.6。这更多地是一门艺术而不是科学,很多时候您会发现自己打开浏览器的“开发者工具”,微调 line-height
直到感觉“刚刚好” ✨👌