先看张图吧:
![](https://img-blog.csdnimg.cn/5ffa80c511a74cec82e85b82705546f1.png)
line-height如上图的两条基线的距离,即两条大红线的距离,也可以说是两条蓝线的距离 ,如图中标注,但是严谨地说应该是两条基线的距离,这也就解释为什么line-height和height的值一样的时候,为什么就是行内元素居中了?
首先基线是怎么来的?它是指英文字母x的下沿线。那字母大部分都在基线上排列,因为line-height表示的是文字的高度,height表示的是元素的高度,这两者相同的时候就表示元素的高度是由元素中的文字所撑开,所以也就居中了。
那行距是什么?就是③的距离。
对了图中的四条线分别是顶线、中线、基线、底线。认识了这四条线那么line-height:1;是什么意思呢?其实就是半行距==0,也就是两行文字会紧密依偎在一起,就是图中的③为0,为什么这么说呢?
首先line-height和font-size的关系:行距=line-height - font-size;其次line-height=它的数字*font-size;这里的line-height:1;那也就是font-size的大小,那么行距就为0了,这不就是两行文字紧挨在一起了。
还有line-height==2;两行文字中间的间隙差不多一个文字尺寸大小;line-height==0.5,行距<0,虽然line-height不支持负值,但是行距可以是负值,此时,两行文字就是重叠在一起的。