标记语言中可能未包含足够的元素,以至于无法按网站建设的定义充分表示表,也可能网页设计人员没有加入所有必要的元素。例如,考虑以下HTML:
<table>
<td>Name:</td>
<td><input type="text"></td>
</table>
乍看到这个标记,你可能认为它定义了一个包含两个单元格的单行表,不过从结构上讲,这里没有定义行的元素(因为没有tr)。
考虑到这种可能性,网站建设定义了一种机制,可以将“遗漏的"组件作为匿名对象插入,为了说明这是如何工作的,下面再来看前面少了行元素的XHTML示例。按CSS的术语来讲,实际上会在table元素和它的后代表单元格之间插入一个匿名table-row对象:
<table>
[anonymous table-row object begins]
<cd>Name:</td>
<tdxinput type=" text "></ td>
[anonymous table-row object ends]
</table>
这个过程示意图如图11-2所示。
图11-2:表格式化中的匿名对象生成
网站建设表模型中可能出现7种不同的匿名对象插入。类似干继承和特殊性,这7个规则作为一种机制,试图对CSS的表现方式赋予一种直观意义。