css line-height多种用法与之间的区别

line-height的语法定义line-height: normal | <number> | <length> | <percentage>

    normal  根据浏览器决定,一般为1.2。

    number  仅指定数字时(无单位),实际行距为字号乘以数字得出的结果。可以理解为一个系数,子元素仅继承该系数,子元素的真正行距是分别与自身元素字号相乘的计算结果。大多数情况下推荐使用,可以避免一些意外的继承问题。

    length  具体的长度,如px/em等。

    percentage  百分比,100%与1em相同。

 line-height这几个属性之间的区别主要就在于继承的问题。

 1. percentage  百分比 

body{ font-size:14px; line-height:150%; }
h1{ font-size:32px; }
p{ font-size:12px; }

    如上,line-height的百分比和body的文字大小计算出值,这个值将会继承下去。所有继承下来的元素会忽略本身的font-size,而使用相同的计算出来的line-height。

element
font-sizeline-height
计算后的line-height
body14px14px * 150% = 21px21px
h132px继承计算后的值21px
p12px继承计算后的值21px

2. length  具体的长度

body{ font-size:14px; line-height:20px; }
h1{ font-size:32px; } 
p{ font-size:12px; }

    这个长度值20px同样会被后代元素所继承。

elementfont-sizeline-height计算后的line-height
body14px20px20px
h132px继承值20px
p12px继承值20px

3. number  纯数字

body{ font-size:14px;line-height:1.5; }
h1{ font-size:32px; }
p{ font-size:12px; }

    现在所有继承下来的元素都会根据字体大小来确定line-height的值。

elementfont-sizeline-height计算后的line-height
body14px1.51.5 * 14px = 21px
h132px系数:1.51.5 * 32px = 48px
p12px系数:1.51.5 * 12px = 18px

    可以看出,line-height会随着相关的font-size做相应的比例缩放。

4. 值normal

    line-height被设置为normal(约为1.2)。所有继承下来的元素也不会忽略自身的font-size,跟number数字一样,line-height也会随着相关的font-size做相应的比例缩放,系数约为1.2 。

那么,哪一种是最好的方案呢?

    一般来说,设置行高值为number是最理想的方式,因为它会随着对应的font-size而缩放。在多数情况下,很难确定一个完美的line-height,所以这就根据需求在不同情况下选择不同的方案。

转载于:https://my.oschina.net/xiuhong/blog/424858

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值