行高继承

时间:2012-05-16 09:15:18

标签: html inheritance css

我无法改变我在体内定义的span元素行高(我尝试过使用!important,以及不同的行高表示法,包括font / line-height)。这是代码:

body {
    font: 16px/1.5 Arial, Helvetica, sans-serif;
}

.pageBody.oferta > .cnt .columns ul span {
    font-size: 9px;
    line-height: 1;
}

问题显然是我的跨度行高为1.5

更多的web开发工具没有显示来自body的继承覆盖它(然后它在web开发工具中交叉)。网站上也有很多代码,但我认为它无论如何都不会影响行高(所以粘贴它会产生很多垃圾邮件)。

编辑:我发现有趣的事情:当我应用大于2的行高时,它开始应用于跨度。

3 个答案:

答案 0 :(得分:9)

在块容器上设置line-height,而不是span。对于span,或者对于一般未被替换的内联元素,内容区域的高度取决于字体和浏览器,并且通常为下降和上升提供条件;请参阅CSS 2.1规范中的10.6.1 Inline, non-replaced elements

即使对于div元素或其他块元素,用户设置可能会阻止将高度调低到9px的可能性,例如将最小字体大小设置为更大(Firefox上的用户选项;不能被作者覆盖。

我不知道你如何推断​​行高,但我的Firebug说,对于从你的例子构造的文档,计算的行高为9px,但在布局窗格中,高度为13px。这是正常的,通过CSS 2.1原则。

答案 1 :(得分:0)

您缺少单位部分的定义 示例here

答案 2 :(得分:0)

span {
    line-height: 0.66; /* 66% of 1.5 ~= 1 
}

由于行高 - 值在嵌套元素上相乘,您可以使用0.66获得此值。覆盖该值的另一​​种方法是设置line-height: normal(但实际值will change depending on the browser