line-height

line-height CSS 属性用于设置多行元素的空间量,如多行文本的间距。对于块级元素,它指定元素行盒(line boxes)的最小高度。对于非替代的 inline 元素,它用于计算行盒(line box)的高度。

示例

/* keyword value */
line-height: normal;

/* unitless values: use this number multiplied
by the element's font size */
line-height: 3.5;

/* <length> values */
line-height: 3em;

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

/* global values */
line-height: inherit;
line-height: initial;
line-height: unset;

浏览器支持

IE浏览器 火狐浏览器 opera浏览器 chrome浏览器 safari浏览器
浏览器都支持 line-height

语法:

line-height :normal | <length> | <percentage> | <number>

取值

  • normal 取决于用户端。桌面浏览器(包括Firefox)使用默认值,约为 1.2 ,这取决于元素的 font-family
  • <number> 该属性的应用值是这个无单位数字 <number> 乘以该元素的字体大小。计算值与指定值相同。大多数情况下,这是设置 line-height 推荐方法 ,不会在继承时产生不确定的结果。
  • <length> 指定 <number> 用于计算 line box 的高度。参考 <number> 了解可使用的单位。以 em 为单位的值可能会产生不确定的结果。
  • <percentage> 与元素自身的字体大小有关。计算值是给定的百分比值乘以元素计算出的字体大小。 百分比 值可能会带来不确定的结果。
  • -moz-block-height 将行高设置为当前块的内容区域高度。

说明:

检索或设置对象的行高。即字体最底端与字体内部顶端之间的距离。

  • 对应的脚本特性为 lineHeight

line-height CSS属性用于设置多行元素的空间量,如多行文本的间距。 对于块级元素,它指定元素行盒(line boxes)的最小高度。对于非替代的 inline 元素,它用于计算行盒(line box)的高度。

默认值 normal
适用于 所有元素
继承性
动画性 当值为 <length> | <number>时
计算值 指定值

实例

/* 理论上,以下所有规则拥有相同的行高 */
div { line-height: 1.2;   font-size: 10pt; }

/* 无单位数值 number/unitless */ 
div { line-height: 1.2em; font-size: 10pt; }

/* 长度 length */ 
div { line-height: 120%;  font-size: 10pt; }

/* 百分比 percentage */
div { font: 10pt/1.2  georgia,"bitstream charter",serif; } /* font 简写属性 font shorthand */

为了简便,可以通过 font 简写来设置 line-height ,但这要求在使用该简写属性时同时设置 font-family 属性。

推荐在设置 line-height 时使用无单位数值

这个示例说明了为什么给 line-height 赋值时使用 <number> 值比使用 <length> 更好。我们会到用两个 <div> 元素。第一个 div 为绿色边框,使用无单位的 line-height 值。第二个 div 带红色边框,使用 em 定义 line-height 的值。

//CSS
.green {
  line-height: 1.1;
  border: solid limegreen;
}

.red {
  line-height: 1.1em;
  border: solid red;
}

h1 {
  font-size: 30px;
}

.box {
  width: 18em;
  display: inline-block;
  vertical-align: top;
  font-size: 15px;
}

//html
<div class="box green">
 <h1>avoid unexpected results by using unitless line-height.</h1>
  length and percentage line-heights have poor inheritance behavior ...
</div>

<div class="box red">
 <h1>avoid unexpected results by using unitless line-height.</h1>
  length and percentage line-heights have poor inheritance behavior ...
</div>

<!-- the first <h1> line-height is calculated from its own font-size   (30px × 1.1) = 33px  --> 
<!-- the second <h1> line-height results from the red div's font-size  (15px × 1.1) = 16.5px,  probably not what you want -->

无障碍方面

主段落内容的 line-height 至少应为 1.5 。这将有助于改善低可视条件下的体验,也对认知阻碍者,如阅读困难者,有帮助。如果文字的大小要随页面的缩放而变化,请使用无单位的值,以确保行高也会等比例缩放。