根據我最近的一些實踐以及在和一些讀者進行關于html表格的使用問題溝通之后,決定寫這篇文章??偟膩碚f,我注意到由于誤導性信息,他們對于table的使用有種先入為主的厭惡。事實上很多人會說”我看到永遠不應該使用表格”的說法,但是這絕對是錯誤的!這個建議只是針對使用html表格來定義網頁的布局,但是表格在方便的排列數據信息行和列方面非常完美,而且如果你一定要在一個頁面上顯示表列數據,你就不得不使用它們!為什么不呢?然而,在這種情況下,一些人無視了用于table的某些html標簽的存在并且不知道該如何正確的使用它們。
html有10個表格相關標簽。下面是一個帶有簡介的列表,但是首先,文檔要被正確的定義在html 4.01/xhtml 1或html 5下面:
一個基本的表格結構如下:
它包含一個標題、頭部、主體和底部。正確的html元素順序是:
你也可以使用<col> 和<colgroup> 來定義表格的列或為列分組:
下面是一個正確的表格結構實例:
<table border="1"> <caption>table caption here</caption> <colgroup span="1" style="background:#dedede;"/> <colgroup span="2" style="background:#efefef;"/> <!-- table header--> <thead> <tr> <th>head 1</th> <th>head 2</th> <th>head 3</th> </tr> </thead> <!-- table footer--> <tfoot> <tr> <td>foot 1</td> <td>foot 2</td> <td>foot 3</td> </tr> </tfoot> <!-- table body--> <tbody> <tr> <td>a</td> <td>b</td> <td>c</td> </tr> <tr> <td>d</td> <td>e</td> <td>f</td> </tr> </tbody></table>
在瀏覽器中的結果如下圖所示:
為了實現現在所提倡的表現和結構分離的開發模式,前端觀察建議將頁面中所有與表現層有關的東東,都用css來控制,不用html自帶的屬性來控制頁面的表現,而table是最容易被忽略的一個。
關于table的更多詳細內容可以查看w3c的文檔: w3 introduction to tables
最后留一個非常簡單的問題給大家,css的哪個屬性等效于table的cellpadding屬性?
新聞熱點
疑難解答