標(biāo)記語言中可能未包含足夠的元素,以至于無法按網(wǎng)站建設(shè)的定義充分表示表,也可能網(wǎng)頁設(shè)計人員沒有加入所有必要的元素。例如,考慮以下HTML:
<table>
<td>Name:</td>
<td><input type="text"></td>
</table>
乍看到這個標(biāo)記,你可能認(rèn)為它定義了一個包含兩個單元格的單行表,不過從結(jié)構(gòu)上講,這里沒有定義行的元素(因為沒有tr)。
考慮到這種可能性,網(wǎng)站建設(shè)定義了一種機制,可以將“遺漏的"組件作為匿名對象插入,為了說明這是如何工作的,下面再來看前面少了行元素的XHTML示例。按CSS的術(shù)語來講,實際上會在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:表格式化中的匿名對象生成
網(wǎng)站建設(shè)表模型中可能出現(xiàn)7種不同的匿名對象插入。類似干繼承和特殊性,這7個規(guī)則作為一種機制,試圖對CSS的表現(xiàn)方式賦予一種直觀意義。