css中line-height属性各个单位详解

在源文件编辑

我们都知道css中line-height属性用于调整行高,它的值有一些不同的单位,本文将详细介绍这些单位的作用和一些区别。

语法规则如下

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

如果子元素没有指定行高,那么将默认继承父元素的行高,继承的时候父元素行高带单位和不带单位有一些区别。

为了方便,下面效果中我设置了背景颜色,以便观察行高到底是多少

normal

设置值为normal时 行高根据浏览器默认决定,不同浏览器可能有不同的值。

使用单位px

使用px单位表示行高为多少像素

demo
查看源码

<div style="font-size: 20px;
		line-height: 20px;">
			<p style="background: orange;">我是父元素 字体大小20px 行高25px</p>
			<div style="font-size:30px
			">
				<p style="background: green;">我是子元素的内容 字体大小30px 行高继承了父元素行高25px</p>
			</div>
		</div>

使用百分数或em单位

120%和1.2em效果完全相同。如果某个元素设置行高为1.5em,它的行高就是 1.5乘以 它的字体大小

demo
查看源码

<p style="font-size: 20px; line-height: 1.5em; background: #abcdef;">我字体大小20px,行高1.5em 算出值就是20*1.5为30px</p>

如果上面这个例子 行高1.5em 其实它的行高是30px

如果他有子元素,子元素继承的行高是它计算后的行高30px

demo
查看源码

<div style="font-size: 20px; line-height: 150%;">
<p style="background: orange;">我是父元素 字体大小20px 行高150% 计算后30px</p>
<div style="font-size: 30px;">
<p style="background: green;">我是子元素 字体30px 行高继承父元素行高30px</p>
</div>
</div>

不带单位

不带单位表示行高为元素字体大小乘以该数字。如果子元素继承父元素的该属性,则只继承了该数字,实际行高由该系数乘以各个元素自己的字体大小而定

demo
查看源码

<div style="font-size: 20px; line-height: 1.5;">
<p style="background: orange;">我是父元素 字体大小20px 行高1.5 计算后30px</p>
<div style="font-size: 30px;">
<p style="background: green;">我是子元素 字体30px 行高继承系数1.5 计算后是45px</p>
</div>
</div>

总结

由于不带单位的时候只继承了系数,推荐使用这种方式。

上一篇:组合选择符
NPMRUN
NPMRUN
来自南方小城
期望遇见良人♥!
该站点已稳定运行: