CSS教程:line-height属性的继承

所属分类: 网页制作 / CSS 阅读数: 1296
收藏 0 赞 0 分享

原文:http://www.planabc.net/2008/07/25/unitless-line-heights/
淘宝商城的detail 页面“产品详情”部分是商家自定义区块,曾出现这样一个问题:

<style type="text/css">
p {
line-height:17px;
}
</style>
<div class="mdse-detail">
<p>
<strong style="font-size:30px">
品牌:XZX<br />
市场价:145元<br />
颜色:黑色<br />
面料:棉<br />
尺码:S M L<br />
衣长:S 89 M 90 L 91<br />
肩宽:S 35 M 36 L 37<br />
胸围:S 88 M 92 L 96<br />
下摆:S 104 M 108 L 112<br />
袖长:S 17 M 17.5 L18<br />
由于测量方法不同,误差在2CM左右!
</strong>
</p>
</div>

你会发现上面例子的文字会重叠在一起!这是什么原因呢?
由于.detail-content 中的 p 元素继承了默认设置的全局样式 line-height:17px,而自定义区块又是由商家自定义,其内字体被设置为了 font-size:30px;(可能为任意值),根据 Inline formatting model,得知该文字的 line-box 高为 17px,多出的字体部分上下溢出,所以会出现字体重叠的现象。
那这个问题如何解决呢?
解决方案:我们给 .mdse-detail 下的 p 元素设定样式属性 line-height:1.4。
为什么解决方案里的 1.4 不带单位?
元素的 line-height 属性值会继承父元素(或祖先元素)的 line-height 属性值,如果属性值有单位,则继承的值是换算后具体的 px 值而非原始的值(比如:em、%),而如果属性值没有单位,则浏览器会继承数值(无单位),然后根据该元素的 font-size 值重新解析得到新的 line-height 值。这个和 table 的 tr 设置 display 属性有一点点类似(tr.style.display = ”;,IE 显示 block,而 Firefox 等标准浏览器显示 table-row)。
还有另外一个相对低效的方法,但也不失为一个快捷的解决方案:
.mdse-detail p * {
line-height:140%;
}

参考阅读:《Unitless line-heights》
更多精彩内容其他人还在看

纯CSS实现微信小程序仿QQ顶部提示弹框动画效果

这篇文章主要介绍了纯CSS实现微信小程序仿QQ顶部提示弹框动画效果,需要的朋友可以参考下
收藏 0 赞 0 分享

使用CSS实现无滚动条滚动的两种方法

这篇文章主要介绍了使用CSS实现无滚动条滚动的两种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

深入浅析CSS 选择器分组

这篇文章主要介绍了CSS 选择器分组的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

css 评分效果的星星示例

这篇文章主要介绍了css 评分效果的星星示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS3实现文本垂直排列的方法

这篇文章主要介绍了CSS3实现文本垂直排列的方法,也就是运用了CSS的writing-mode属性,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

利用CSS3实现文字折纸效果实例代码

这篇文章主要给大家介绍了关于利用CSS3实现文字折纸效果的相关资料,文中给出了完整的示例代码,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

通过css使用background-color为背景图添加遮罩效果的两种方法

这篇文章主要介绍了通过css使用background-color为背景图添加遮罩效果的两种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

css遮罩全屏居中对齐的实现方式

本文通过实例代码给大家介绍了css遮罩全屏居中对齐的实现方式,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

HTML+CSS实现下拉菜单的实现

这篇文章主要介绍了HTML+CSS实现下拉菜单的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS中的导航栏和下拉菜单的实现

这篇文章主要介绍了CSS中的导航栏和下拉菜单的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多