【CSS】line-height属性中设置1.5和1.5em的区别

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

line-height 属性被指定为以下任何一个:

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

其中设置数字为推荐用法,设置长度(包括em)或者百分比可能带来不确定结果。

例子略

 
```

结果:
设置数字时,继承的是数字的值。line-height的值会是本身字体大小乘以数字。
设置em时,继承的时父元素的字体大小乘以em之后的值,所以可能会带来不确定的结果。

使用line-height设置垂直水平居中:

<div class="parent"><div class="child">子元素</div></div>

<style>
  .parent {
     
    background-color: blue;
    width: 200px;
    text-align: center;
    line-height: 400px;
    font-size: 0px;
  }
  .child {
     
    background-color: burlywood;
    display: inline-block;
    vertical-align: middle;
    line-height: initial;
    font-size: 16px;
  }
</style>

你可能感兴趣的:(css)