表格单元格垂直对齐的默认值
Posted
技术标签:
【中文标题】表格单元格垂直对齐的默认值【英文标题】:Default value of vertical-align for table cells 【发布时间】:2016-02-02 21:34:23 【问题描述】:根据spec,vertical-align
的默认值为baseline
。
baseline
将框的基线与父框的基线对齐。如果 盒子没有基线,将底部边缘对齐 父母的基线。
但是,当涉及到表格单元格 (td
) 时,默认值似乎始终是 middle
。
middle
将框的垂直中点与父级的基线对齐 box 加上父级 x 高度的一半。
我希望官方确认此行为,但我在 W3C 文档中找不到任何内容。我发现的所有内容都说默认值是baseline
。
哪里说vertical-align
的默认值是middle
用于表格单元格?
【问题讨论】:
【参考方案1】:正如规范所说,vertical-align
的初始值始终是baseline
:
垂直对齐
首字母:基线
但是,正如The cascade 中所述,
Conforming user agents 必须应用默认样式表(或 表现得像他们一样)。
用户代理的默认样式表应该显示 以满足一般表述的方式记录语言 对文档语言的期望。
有关推荐的默认样式,请参阅 A sample style sheet for html HTML 文档的工作表。
推荐的样式表包含
thead, tbody,
tfoot vertical-align: middle
td, th, tr vertical-align: inherit
因此,如果您(作者来源)没有为tbody
或td
的vertical-align
提供任何值,则级联将从用户代理来源检索middle
值。
请注意,默认样式表依赖于实现,因此某些浏览器可能会为不同的元素设置不同的vertical-align
值。
【讨论】:
哦,这就解释了为什么td vertical-align:initial;
将事情恢复为baseline
(我很难理解为什么,因为我认为middle
是默认值,所以initial
会保持原样)跨度>
以上是关于表格单元格垂直对齐的默认值的主要内容,如果未能解决你的问题,请参考以下文章