我有一个全局重置,为每个元素设置和设置
font-size
:line-height
inherit
* {
font-size: inherit;
line-height: iherit; }
对于html
,我明确定义它们:
html {
font-size: 16px;
line-height: 1.25em; } /* 16×1.25 = 20 */
请注意,这line-height
是以相对单位设置的。
对于h1
,我定义了不同的字体大小:
h1 {
font-size: 4em; }
我希望h1
继承line-height
. 1.25em
生成的 line-height 应该等于 80px (16×4×1.25)。
但实际上h1
'line-height
仍然等于20px
(与html
's 相同:16×1.25=20)。
说,我有以下 HTML:
<p>foo<br>bar</p>
<h1>foo<br>bar</h1>
结果截图:
要解决这个问题,我必须明确定义h1
'sline-height
等于它继承的相同值:
h1 {
font-size: 4em;
line-height: 1.25em; }
然后line-height
变得正确:
看起来是先将相对值计算成绝对值,然后再继承绝对值。或者,它可能是相对于父级的font-size
,而不是元素的font-size
。
问题
- 为什么亲属
line-height
继承不正确? - 如何使相对
line-height
值被继承为相对于元素font-size
而不是其父元素的值?
PS 标题中有一个问题类似的问题,但细节上有所不同。