mis-lab / Front-End-Question-Discussion

前端基础问题 每日一题
1 stars 0 forks source link

line-height 与 vetical-align #12

Open Reaper622 opened 5 years ago

Reaper622 commented 5 years ago

Line-height 和 vertical-align

line-height定义的是两基线(baseline)的距离,vertical-align的默认值就是基线,基线的定义是字母x的下边缘。

css有一个 x-height的概念,指的是小写字母x的高度,vertical-align:middle对其的就是基线往上1/2 x-height的高度。

line-height

主要作用

决定了行框盒子的最小高度。注意是行框盒子的最小高度,而不是块级元素的实际高度。

行距使文字居中的原因是行距具有上下等分的机制,行距自身为line-height - font-size,上下行距各占一半。

无论内联元素的line-height如何设置们最终副元素的高度值都是较大的line-height

Vertical-align

vertical-align 只对内联元素起作用,所以如果元素设置了float: left或者position: absolute,则其vertical-align属性不能生效,因为此时元素的display计算值为block了。

line-height 和 vertical-align 会造成的问题:

如何解决?