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

<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%;
}

时间: 2024-12-27 12:58:53

CSS教程:line-height属性的继承的相关文章

CSS教程:clip属性完全解答

核心提示:clip属性是一个比较有用的属性,但往往在实际应用中,并不多见,介绍的也很少. clip属性是一个比较有用的属性,但往往在实际应用中,并不多见,介绍的也很少.应用clip属性需要注意的两点: 一.clip属性必须和定位属性postion一起使用才能生效. 二.clip裁切的计算坐标都是以左上角即(0,0)点开始计算,如图三所示,这点不像padding和margin,它们两个的右边距和下边距是从最右边和最下边开始计算的. clip属性基础语法: clip : auto rect ( nu

七 CSS初级教程总结:属性结合起来使用

css|教程 如果你学完HTML初级教程即可学习CSS初级教程,使用CSS处理HTML样式. 下面的代码覆盖了初级教程的所有方面,保存下面的CSS文件并且在浏览器里观看连接的HTML,你可以明白各个CSS属性的用法.最好的学习方法就是理解作用在HTML上的CSS文件,改变CSS HTML会发生什么变化. body {font-family: arial, helvetica, sans-serif;font-size: 80%;color: black;background-color: #ff

经典实用CSS教程详细讲解

css|教程 CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一.使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需要上传的代码数量,大大减少了重复劳动的工作量.尤其是当你面对的是有数百个网页的站点时,CSS简直象是神对我们的恩赐! 前言 CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具

CSS教程—元素的定位

css|教程 1. position:static|无定位position:static是所有元素定位的默认值, 一般不用注明,除非有需要取消继承的别的定位example: 以下是引用片段:>#div-1 {  position:static; }2. position:relative|相对定位使用position:relative,就需要top,bottom,left,right4个属性来配合,确定元素的位置.如果要让div-1层向下移动20px,左移40px:example: 以下是引用片

CSS教程——元素定位

css|教程 1. position:static|无定位position:static是所有元素定位的默认值, 一般不用注明,除非有需要取消继承的别的定位example:#div-1 { position:static;}2. position:relative|相对定位使用position:relative,就需要top,bottom,left,right4个属性来配合,确定元素的位置.如果要让div-1层向下移动20px,左移40px:example:#div-1 { position:r

CSS教程:彻底了解haslayout

要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念.大多IE下的显示错误,就是源于 haslayout. 什么是 haslayout ? haslayout 是Windows Internet Explorer渲染引擎的一个内部组成部分.在InternetExplorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容.为了调节这两个不同的概念,渲染引擎采用了 hasLayout 的属性,属性

实例详解CSS滤镜(3)Blur属性

css|滤镜|详解 假如您用手在一幅还没干透的油画上迅速划过,画面就会变得模糊.CSS下的blur属性就会达到这种模糊的效果. 先来看一下blur属性的表达式: filter:blur(add=add,direction,strength=strength) 我们看到blur属性有三个参数:add.direction.strength. Add参数有两个参数值:true和false.意思是指定图片是否被改变成模糊效果. Direction参数用来设置模糊的方向.模糊效果是按照顺时针方向进行的.其

强烈推荐:非常不错的样式表CSS教程(4)

css|教程|样式表 ●Specificity 本节讲述的是用来判断样式优先权的是"specificity"."specificity"和选择符selector中元素的数目以及元素的属性有关,"specificity"高的优先应用. 怎样计算选择符的"specificity"值呢?涉及到三项内容: 1.选择符中ID标识符属性的数目A 注意:一个匹配ID的属性选择符不能算作一个ID,它仅能当作一个属性选择符.例如"id

强烈推荐:非常不错的样式表CSS教程(3)

css|教程|样式表 ■继 承 和 层 叠 CSS规则影响元素的显示形态,但是如果没有样式匹配或者存在多种样式规则同时匹配该元素时,元素显示的形态到底是遵循哪个规则呢?本节论述的内容涉及到样式的继承和层叠方面的知识. ●继 承 有些样式通过默认的样式设置而"继承",也就是说,子元素继承父元素的样式规则,包括color.font和text-align等等. 例如: p { color: red } ... <p>Sample paragraph with <b>b