根据该规范,默认值vertical-align是baseline。
vertical-align
baseline
baseline 将框的基线与父框的基线对齐。如果该框没有基线,则将下边距边缘与父对象的基线对齐。
将框的基线与父框的基线对齐。如果该框没有基线,则将下边距边缘与父对象的基线对齐。
但是,当涉及表格单元格(td)时,默认值始终为middle。
td
middle
middle 将框的垂直中点与父框的基线对齐,再加上父框x高度的一半。
将框的垂直中点与父框的基线对齐,再加上父框x高度的一半。
我希望对此行为进行官方确认,但在W3C文档中找不到任何内容。我发现的所有内容都显示默认值为baseline。
它在哪里说表单元的默认值vertical-align是middle?
如规范所述,的初始值vertical-align始终为baseline:
垂直对齐 初始 :基线
垂直对齐
但是,如The Cascade中所述,
合格的用户代理必须应用 默认的样式表 (或表现得好像他们一样)。 用户代理的默认样式表应以满足对文档语言的一般表示期望的方式来呈现文档语言的元素。 有关HTML文档的建议默认样式表,请参见HTML样式表样本。
合格的用户代理必须应用 默认的样式表 (或表现得好像他们一样)。
用户代理的默认样式表应以满足对文档语言的一般表示期望的方式来呈现文档语言的元素。
有关HTML文档的建议默认样式表,请参见HTML样式表样本。
该推荐的样式表包含
thead, tbody, tfoot { vertical-align: middle } td, th, tr { vertical-align: inherit }
因此,如果你(作者原点)不提供任何价值tbody的,也没有td的vertical-align,级联将检索middle从用户代理原值。
tbody
请注意,默认样式表取决于实现,因此某些浏览器可能会vertical-align为不同的元素设置不同的值。