使用 CSS 的 line-height 属性来提高可读性

简介: 使用 CSS 的 line-height 属性来提高可读性

本文介绍了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 直到感觉“刚刚好” ✨👌



目录
相关文章
|
15天前
|
前端开发
css的渐变属性linear-gradient
css的渐变属性linear-gradient
|
5天前
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
16 0
|
5天前
|
前端开发
CSS属性
CSS属性
16 0
|
7天前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
11 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
2月前
|
前端开发
CSS常用滤镜属性讲解
本文介绍了CSS滤镜的几种常用效果,包括高斯模糊、亮度和对比度调整、灰度化、图像反转、透明度调整、饱和度调整及复古滤镜等。例如,使用`blur(10px)`可使图像产生模糊效果,包裹层设置`overflow: hidden`可避免边缘模糊;`brightness(150%)`和`contrast(150%)`分别增强图像亮度和对比度;`grayscale(1)`将图像转为灰度;`invert(1)`实现图像颜色完全反转;`opacity(0.5)`调整图像半透明;`saturate(350%)`增加饱和度;`sepia(100%)`营造复古深褐色调;`hue-rotate(180deg)`改变
31 4
CSS常用滤镜属性讲解
|
2月前
|
前端开发
了解 css中 backface-visibility 属性
`backface-visibility` 是一个CSS属性,用于3D转换时控制元素背面的可见性,以优化渲染性能。默认情况下,背面被隐藏以减少不必要的渲染。此属性有两值:`visible` 表示背面可见;`hidden`(默认值)则隐藏背面。 通过双面卡片案例演示了其用法:两个重叠盒子,一个显示图片,另一个显示文字且初始状态为背面朝外。鼠标悬停时,图片盒子翻转显示背面,文字盒子翻转显示正面,同时设置 `backface-visibility: hidden` 以确保背面不被渲染。 兼容性良好,广泛支持现代浏览器。
35 2
了解 css中 backface-visibility 属性
|
9天前
|
前端开发
Vue3基础(十ba)___在css中使用props或者计算属性的变量,来实现动态样式
本文介绍了如何在Vue3中通过CSS变量和props或计算属性来实现动态样式。
12 0
|
2月前
|
前端开发 算法 开发者
CSS 的了解text-rendering属性
【8月更文挑战第24天】
|
2月前
|
前端开发 搜索推荐 UED
浅谈css的cusor属性
浅谈css的cusor属性
35 1
|
2月前
|
前端开发
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!