【问题标题】:Default value of vertical-align for table cells表格单元格垂直对齐的默认值
【发布时间】:2016-02-02 21:34:23
【问题描述】:

根据specvertical-align的默认值为baseline

baseline

将框的基线与父框的基线对齐。如果 盒子没有基线,将底部边缘对齐 父母的基线。

但是,当涉及到表格单元格 (td) 时,默认值似乎始终是 middle

middle

将框的垂直中点与父级的基线对齐 box 加上父级 x 高度的一半。

我希望官方确认此行为,但我在 W3C 文档中找不到任何内容。我发现的所有内容都说默认值是baseline

哪里说vertical-align 的默认值是middle 用于表格单元格?

【问题讨论】:

    标签: html css html-table vertical-alignment


    【解决方案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 }
    

    因此,如果您(作者来源)没有为tbodytdvertical-align 提供任何值,则级联将从用户代理来源检索middle 值。

    请注意,默认样式表依赖于实现,因此某些浏览器可能会为不同的元素设置不同的vertical-align 值。

    【讨论】:

    • 哦,这就解释了为什么td { vertical-align:initial; } 将事情恢复为baseline(我很难理解为什么,因为我认为middle 是默认值,所以initial 会保持原样)跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2014-08-18
    • 1970-01-01
    • 2011-07-30
    • 2011-01-23
    相关资源
    最近更新 更多