关于line-height以number设置值引发的css属性值的规范标准思考

line-height设置值的几种方式

line-height设置值的几种方式
第一个normal默认值是22px
第二个number最终结果是number当前元素font-size值(默认值16px)
第三个length固定值,固定值length是具体像素
第四个 %当前百分比
16px
第五个inherit继承父元素的

以第二种方式设置line-height踩坑记录

先上代码,一睹为快,如下是react中截取的一部分代码,我要实现的是p标签在盒子内垂直居中

<div style={{ height: 20, border: '1px solid #000' }}>
        <p style={{ lineHeight: 20, border: '1px solid red' }}>123</p>
 </div>

预览结果
选中的p标签
what?
在这里插入图片描述
我明明设置的盒子的高度也是20啊,最后怎么变成了这样了????
后来,公司大佬给我解释说,css针对line-height的数值计算规则是以当前元素的文字大小乘以数值计算的,好家伙!!

因为我这里没有给任何p的父节点设置font-size值也就是说最终line-height计算出的结果是20*16px=320px。

就是说如果我将p标签的父节点div加上font-size:10px的话,line-height就会重新计算得到20*10px=200px。

 <div style="border: 1px solid #aaa;height: 20;">
        <p style="line-height: 20;">123</p>
 </div>

css无法解析height设置的number类型值

那么问题来了,在react框架中height设置number时为啥不根据字体大小计算呢????react框架为什么直接将height解析成了像素??为什么css不支持给height设置number类型??这是不是css针对单位类型设计的不合理???

这里有很多耐人寻味的地方,如果大佬的你坐在电脑旁边看到了我的博客,真的希望不吝啬评论指导!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挽枫blog

打赏是对知识的尊重!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值