设置行高_前端行高讲解和应用场景

首先展示问题案例

681287d78ea7f39829a793c70f3256a7.png
732d3f5b4ad68021c7bb2c2654598ec4.png

我们可以看到图片的文字顶部和文字上下之间有一行空白的位置,导致我们的文字无法与图片顶部对其,哪怕我们设置padding和margin都无法解决掉。

行高的初步认识

前端CSS的line-height属性,行高是用于设定行内元素高度的属性,一般用于字体。可以想象成透明的水,这样比较容易理解。它用于定义内容的高度,而我们常用的height高度属性是用于定义元素属性,即设置P标签固定的高度。

行高展示图

c96d3ada4ef71d929ad3dac3066edba5.png

从图中我们可以看到,我们设置字体P标签元素的时候,P标签的内容不但受于height影响,同时还受到line-height行高的影响,因此,哪怕我们设置P标签的元素margin或padding为0的时候,都无法解决P标签内容置顶,因为P标签的内容还受到默认行高的影响。

行高设置与字体大小相同的时候置顶

b958835cb68f5a432348102f7bfe2868.png
feb9f0875506096534b03fb798cce8e8.png

我们可以看到,当行高设置与字体大小一模一样的时候就可以实现字体置顶了,但是也出现了一个问题。段落的内容不美观,每一行都没有间距了。因此一般多行的情况下设置行高要大于字体大小。

行高该如何取值

从上面两个案例中我们知道,默认行高无法实现与图片顶部对其的美观效果,而设置字体大小等于行高则会影响多行间距。

4f219b99805096139bcd585e6842923f.png

当我们设置行高26px的时候,字体大小16px

ec0091e5f6805f1d6dcc8cc689b9a1f5.png
dd27e4414351ed82d42dc8ad6212b774.png

接下来是计算公式:行高/2-字体大小/2。

即:26/2-16/2=5

因此我们在将图片margin-top设置为5即可实现图片与文字顶部对其了。

1c5bf9e1d900c42aafded3df00c624ee.png
e5211de3be07d9006796779171410279.png

总结

有的同学可能有疑惑,为什么我一开始不直接设置图片margin-top的数值,解决图片与文字的顶部水平。这是因为不同设备,浏览器的字体默认行高不一定相同的。因此也许同样16px字体大小的行高有些设备或浏览器默认大小行高20px,有些22px。所以仅仅设置img的顶部外边距与字体顶部对其,但是无法保证浏览器的兼容性。因此我们要从根源头了解行高和如何设置行高,这样才能让我们写的代码兼容性更强些。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值