首页  >  文章  >  web前端  >  css使用不带单位的line-height 的方法

css使用不带单位的line-height 的方法

不言
不言原创
2018-06-21 15:31:542526浏览

这篇文章主要介绍了关于css使用不带单位的line-height 的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

line-height是可以继承的,所以子元素可以不用重复定义line-height。我们一般也会在后面带上单位(如:line-height:22px; 或是line-height:1.4em;),但line-height给人带来麻烦的地方也是这个继承和后面加的单位

有的时候,我们为了实现单行文字的垂直居中,会给line-height一个和height相同的固定的值;有的时候,我们为了调整特定的某段文字的行间距,通常会考虑使用百分比或者相对尺寸的em。或许是习惯,于是我们都习惯了line-height是要有单位的。这些情况下,我们都不需要考虑line-height的继承,也不会发现任何问题。当然我们在使用line-height继承的时候,就会发现问题的所在。
例如下面的代码: 

CSS:

<style> 
.line-height-test { width: 200px; line-height: 1.4em; font-size: 12px; } 
.line-height-test span { font-size: 30px; font-weight: bold; } 
</style>

HTML: 

<p class="line-height-test"> 
<span>白培铭先生于1960年出生于中国台湾,毕业于中国台湾省清华大学核物理系,</span> 
之后留学于美国加州大学伯克利分校和密西根大学,获得双硕士学位。在工作之后,凭着对营销领域的浓厚兴趣,他又考入密执安大学深造。 
</p>

如果line-height属性值有单位,那么继承的值则是换算后的一个具体的px级别的值(先计算后继承);而如果属性值没有单位,则浏览器会直接继承这个 “因子(数值)”,而非计算后的具体值,此时它的line-height会根据本身的font-size值重新计算得到新的line-height 值(先继承后计算)。

比如有一p及子元素p,p的line-height为150%,由于默认情况的字体大小为16px,所以p的具体line-height值可换算为 16px * 150% = 24px,由于p的line-height会继承24px这个换算过后的具体值,此时p又被重新定义为font- size:30px;字体大小超过了line-height的大小,于是发生重叠。其它单位原理一样。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

关于CSS background的使用方法

关于CSS中的table-cell属性的使用方法

以上是css使用不带单位的line-height 的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn