網站建設將其表模型定義為“以行為主”。換句話說,這個模型假設創(chuàng)作人員創(chuàng)建的標記語言會顯式聲明行,而列是從單元格行的布局推導出來的。因此,第一列由各行中的第一個單元格組成,第二列則由各行中第二個單元格組成,依此類推。
以行為主在HTML中不算大問題,因為HTML本身就是面向行的。而在XML中則影響比較大,因為它限制了創(chuàng)作人員定義表標記的方式。由于網站建設表模型本質是面向行的,倘若標記語言中表布局的基礎是列,要想使用網站建設來表示這種文檔是無法做到的。
在本章余下部分,隨著我們繼續(xù)討論表表示的詳細內容,也可以清楚地看出CSS模型具有這種以行為主的性質。
盡管CSS表模型是面向行的,列在布局中仍有很重要的地位。雖然單元格在文檔源中是行元素的后代,但它們可能同時屬于兩個上下文(行和列)。不過,在網站建設中列和列組
只能接受4種樣式:border、background、width 和 visibility。
另外,這4個屬性有一些只能應用于列上下文的特殊規(guī)則:
border
只有當border-collapse屬性值為collapse時才能為列和列組設置邊框。在這種情況下,列和列組邊框會參與設置各單元格邊界邊框樣式的合并算法(見本章后面“合并單元格邊框”部分)。
background
只有當單元格及其行有透明背景時,列或列組的背景才可見(見本章后面的“表層”部分)。
width
width屬性定義了列或列組的最小寬度。列(或列組)中單元格的內容可能要求列更寬。
visibility
如果一個列或列組的visibility為collapse,則網站建設該列(或列組)中所有單元格都不顯示。從合并列跨到其他列的單元格會被剪裁,這類似于從其他列跨到隱藏列中的單元格。另外,表的總寬度會減去已合并列的寬度。如果對列或列組將visibility聲明為任何非collapse值(譯注1)[1],則會被忽略。