将“display:table-cell”元素放在“display:table-row”元素中是否为有效构造?

时间:2012-08-07 15:22:43

标签: html css

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

对我来说这似乎不对,但我根本不确定。

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

谢谢。

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

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

1 个答案:

答案 0 :(得分:3)

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

是的,它(可能)有效。

  

HTML以外的文档语言可能不包含所有元素   CSS 2.1表模型。在这些情况下,“缺失”元素必须   假设为了表模型工作。任何表元素   将自动生成必要的匿名表对象   本身,由至少三个对应于a的嵌套对象组成   'table'/'inline-table'元素,'table-row'元素和a   'table-cell'元素。

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

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