作为新手,在写样式的时候会遇到各种css的问题,尤其是细节处理上,刚开始学css时,line-height继承的问题也是一个常碰到的,后来虽然不断地学习中,也慢慢就知道了,但没有记录下来。最近自己正在收集一些知识点和经验,作为收藏,由于文字功底不好,关于line-height这个问题,本文也只是粗糙记录了一下。
大家都知道元素的 line-height 属性值会继承父元素(或祖先元素)的 line-height 属性值,下面我们来看一下具体的分析
1、line-height属性值有单位或者百分比的情况
代码:
<div style=”font-size:12px;line-height:200%;”>
<p style=”width:400px;”>关于css中 line-height继承的问题,如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;</p>
<p style=”color:#00F; font-size:40px;width:600px;”>此时字体大小为40px;如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;</p>
</div>
效果:
关于css中 line-height继承的问题,如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;
此时字体大小为40px;如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;
大家可以看到上面代码的祖先元素设置为200%,按继承,第一段文字line-height为24px;是对的,第二段p会发生重叠的现象。
假如这个子元素的字体改变的时候(比如第二段p字体一下子到font-size:40px;的时候),可能有人认为行高应该是80px(40*200%),其实错了,你看一下效果,并不是,
这种情况下,是因为line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;
我们代码中,line-height其实已经换算成一个具体的24px级别的值,那么第二段的字体设置为40px,其实line-height还是24px;
2、line-height属性值没有单位的情况
如果属性值没有单位,则浏览器会直接继承这个”因子(数值)”,而非计算后的具体值,此时它的line-height会根据本身的font-size值重新计算得到新的line-height 值。
比如我们设置为line-height:3,此数字会与当前的字体尺寸相乘来设置行间距。可以得到如下的效果。
代码:
<div style=”font-size:12px;line-height:3″>
<p style=”width:400px;”>关于css中 line-height继承的问题,如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;</p>
<p style=”color:#00F; font-size:24x;width:600px;”>此时字体大小为24px;如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;</p>
</div>
效果:
关于css中 line-height继承的问题,如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;
此时字体大小为24px;如果line-height属性值有单位或百分比,那么继承的值则是换算后的一个具体的px级别的值;