Chrome 50更改隐式表格单元格高度行为

Bre*_*tin 13 html css google-chrome chromium

jsFiddle.

<table>
  <tr>
    <td>
      <div>
        Hello World
      </div>
    </td>
  </tr>
</table>

html, body {
  height:100%;
  background-color:steelblue;
  margin:0;
}

table {
  height:100%;
  border:1px;
}

td {
  border:1px;
}

tr {
  background-color: green;
}

div {
  background-color:salmon;
  height:100%;
}
Run Code Online (Sandbox Code Playgroud)

在Chrome 50之前,高度为100%的表格也会隐式将高度100%应用于其表格单元格.

这是Firefox和IE版本<11 中长期存在的错误 .Chrome和Safari总是将隐含的百分比高度传递给单元格.

根据规格,正确的行为是什么?这是由设计引入的吗?

编辑: Chromium Bug报告

Tom*_*mty 1

这似乎与 2 个多月前关闭的 Chromium 问题同一问题。根据那里的评论,Chrome 50 中的新行为“更符合规范”。

因此,为了回答您的问题,这似乎有意为之,并且(至少 Chromium 开发人员)认为这是根据规范的正确行为。

当然,解决方案就是明确地将单元格的高度设置为 100%。