4

在我必须处理的示例 Web 应用程序中,我注意到一些元素有display: table-cell样式,但它们的父级没有display: table-row.

对我来说,这似乎是错误的,但我完全不确定。

因此这个问题:这是一个有效的结构吗?如果有的话,它会导致什么问题?

谢谢你。

这是我的意思的一个例子:

<div style="display: block">
  <div style="display:table-cell">
    <p>Some content</p>
  </div>
</div>
4

1 回答 1

3

我有点模仿浮士德,他很友善地找到了规格(但现在似乎已经删除了他的答案)......

是的,它(可能)是有效的。

HTML 以外的文档语言可能不包含 CSS 2.1 表格模型中的所有元素。在这些情况下,必须假设“缺失”元素才能使表模型正常工作。任何表格元素都会在其自身周围自动生成必要的匿名表格对象,由至少三个嵌套对象组成,分别对应一个 'table'/'inline-table' 元素、一个 'table-row' 元素和一个 'table-cell' 元素.

从 17.2.1 匿名表对象, http://www.w3.org/Style/css2-updates/css2/tables.html#anonymous-boxes

这可以理解为匿名框将在没有正确结构的非 HTML 语言中创建,但我认为它也会在 HTML 中生成匿名表对象。

于 2012-08-07T15:43:08.387 回答