作者:浩斯科技 | 来源:互联网 | 2022-12-05 10:25
CSS2.1第10.6.1节规定:
内容区域的高度应基于字体,但是此规范未指定。UA可以例如使用em-box或字体的最大升序和降序。
内联不可替换框的垂直填充,边框和边距从内容区域的顶部和底部开始,与“ line-height”无关。
然后,在10.8行高计算中遵循似乎矛盾的语句:
线框的高度确定如下:
计算行框中每个行内框的高度。对于嵌入式盒,这是它们的“行高” ...。
和:
用户代理必须通过其相关基准使未替换的嵌入式框中的字形彼此对齐。
内联框的高度将所有字形及其两边的前导部分包围起来,因此正好是“行高”
在这里,我有些不完全了解。
内联级别框的高度等于line-height
它们上设置的属性(最小是line-height
在父块容器元素上设置的属性),还是仅由字体高度(和UA实现)确定?
编辑
只是为了避免造成混淆(因为有很多与此相关的帖子):
我知道一个inline-level element
的内容高度等于它包含的字体(以及UA实现)
我意识到规范确实指出10.6.1
,但10.8.1
其中指出的高度inline-level box
等于的高度line-height
这似乎与我矛盾
我在这篇文章中的目的是讨论规范中的措辞,以便充分理解其含义以及它与现实的联系
编辑:
为了避免“基于意见”的接近投票,我更改了标题。我认为规范不矛盾,我也不是在征求其他人关于它是否矛盾的观点。
我意识到它实际上并不矛盾,我只是试图理解它的含义(鉴于其措辞)。