在我必须处理的示例Web应用程序中,我注意到某些元素具有display: table-cell
样式,但其父级没有display: table-row
。
对我来说这似乎不对,但我根本不确定。
因此这个问题:这是一个有效的结构吗?如果有的话会导致什么问题?
谢谢。
这是我的意思的一个例子:
<div style="display: block">
<div style="display:table-cell">
<p>Some content</p>
</div>
</div>
答案 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中生成匿名表对象。