HTML學習筆記(一)——表格

表格結(jié)構(gòu)

表格結(jié)構(gòu):表格分有表頭(<thead></thead>)表格主體正文(<tbody></tbody>)表尾(<tfoot></tfoot>),以及表格標題(caption)會自動出現(xiàn)在整張表格的上方,此外對表格的更長描述可以寫在table標簽的summary屬性中,其次(<th></th>)定義表格的表頭單元格,且th元素內(nèi)部的文本通常會呈現(xiàn)為粗體代碼示例:

<table border="1" cellspacing="0" summary="this is table example">
        <caption>表格示例展示</caption>
        <thead>
            <tr>
                <th>時間:</th>
                <th>收入:</th>
                <th>支出:</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
            <td>備注:</td>
            </tr>
        </tfoot>
        <tbody>
            <tr>
                <td>2015-07-12</td>
                <td>200</td>
                <td>50</td>
            </tr>
            <tr>
                <td>2015-07-13</td>
                <td>200</td>
                <td>30</td>
            </tr>
            <tr>
                <td>2015-07-14</td>
                <td>200</td>
                <td>40</td>
            </tr>
        </tbody>
    </table>

在瀏覽器中的顯示效果如下圖:

1.jpg

這里有幾個注意點:

* thead和tfoot在一張表中只能有一個,而tbody可以有多個
* tfoot必須出現(xiàn)在tbody前面,這樣瀏覽器在接收主體數(shù)據(jù)之前,就能渲染表尾,這有利于加快表
  格的顯示速度。這一點對大型表格尤其重要
* thead 、tbody和tfoot里面都必須使用tr標簽,以表示行
* 同時注意th是表頭thead中的單元格與td數(shù)據(jù)單元有區(qū)別  

列分組

tbody可以用來對“行”進行分組,colgroup則用來對“列”進行分組。
例如:下面代碼表示前2列為一組,每一列的寬度為20px。

<colgroup span="2" width="200px"></colgroup>

瀏覽器顯示效果如下:

2.jpg

幾個注意點:

* span屬性,用來指定colgroup標簽能夠控制的列數(shù)
* 在colgroup標簽內(nèi)部,可以使用col標簽來指定每一列的屬性
* 其中我們還可以在col中使用span屬性來進行列分組

例如,下面的代碼表示第一列寬度為300px,第二列寬度為100px:

<colgroup>
  <col width="300px">
  <col width="100px">
</colgroup>

瀏覽器顯示效果如下:


3.jpg

css中的table-layout語句

這個語句可以用來指定表格顯示樣式,列如

table {table-layout:fixed;}

它可以取三個值:

* auto(缺省)
* fixed
* inherit

auto表示單元格的大小由內(nèi)容決定。fixed表示單元格的大小是固定的,由第一個指定大小的單元格決定,如果所有的單元格都沒有指定大小,則由第一個單元格的默認大小決定;如果單元格的內(nèi)容超出單元格的大小,則用CSS中的overflow控制。同時表格的顯示速度可以加快100倍。
同時注意:

* 想要加快表格顯示,最好事先在CSS或者table標簽的width和height屬性中指定
  表格的寬度和高度

th和td的區(qū)別

表示單元格的標簽是th(table head)和td(table data),前者用來顯示數(shù)據(jù)名稱,后者用來顯示數(shù)據(jù)內(nèi)容
代碼示例:

<table border="1">
  <tr>
    <th>Month</th>  
    <th>Savings</th> 
  </tr> 
  <tr>
    <td>January</td>  
    <td>$100</td> 
  </tr> 
</table>

frame和rules屬性

table標簽的frame和rules屬性,可以控制邊框的顯示;frame屬性規(guī)定外側(cè)邊框的哪個部分是可見的。rules屬性規(guī)定內(nèi)側(cè)邊框的哪個部分是可見的。
frame屬性可取的屬性值如下:

* void - 默認值。表示不顯示表格最外圍的邊框
* above - 只顯示上部的外側(cè)邊框
* below - 只顯示下部的外側(cè)邊框
* hsides - 顯示上部和下部的外側(cè)邊框
* vsides - 顯示左邊和右邊的外側(cè)邊框
* lhs - 顯示左邊的外側(cè)邊框
* rhs - 顯示右邊的外側(cè)邊框
* box - 在所有四個邊上顯示外側(cè)邊框
* border - 在所有四個邊上顯示外側(cè)邊框

rules屬性可取的屬性值如下:

* none - 沒有線條
* groups - 位于行組和列組之間的線條
* rows - 位于行之間的線條
* cols - 位于列之間的線條
* all - 位于行和列之間的線條(即單元格)

代碼示例:

<table border="1" frame="above" rules="groups">
        <colgroup span="2" width="100px">
            <col width="300px">
            <col align="right">
        </colgroup>
        <caption>表格示例展示</caption>
        <thead>
            <tr>
                <th>時間:</th>
                <th>收入:</th>
                <th>支出:</th>
            </tr>
        </thead>
        <tfoot>
            <tr>
            <td>備注:</td>
            <td>日期:</td>
            <td>總計:</td>
            </tr>
        </tfoot>
        <tbody>
            <tr>
                <td>2015-07-12</td>
                <td>200</td>
                <td>50</td>
            </tr>
            <tr>
                <td>2015-07-13</td>
                <td>200</td>
                <td>30</td>
            </tr>
            <tr>
                <td>2015-07-14</td>
                <td>200</td>
                <td>40</td>
            </tr>
        </tbody>
    </table>

瀏覽器顯示效果如下:

4.jpg

table中常用屬性及取值

* border -[可取像素值] 規(guī)定表格邊框的寬度
* cellpadding -[可取像素值和百分比] 規(guī)定單元邊沿與其內(nèi)容之間的空白
* cellspacing - [可取像素值和百分比]規(guī)定單元格之間的空白 
* frame - 規(guī)定外邊框的哪個部分可見 
* rules - 規(guī)定內(nèi)邊框的哪個部分可見
* summary - 規(guī)定表格的摘要描述
* width - 規(guī)定表格的寬度

td常用屬性及取值

* align - [left-right-center-justify-char]規(guī)定單元格內(nèi)容的水平對齊方式
* headers - [headers_cells'_id]規(guī)定單元格相關(guān)的表頭
* colspan - [number]規(guī)定單元格可橫跨的列數(shù)
* rowspan - [number]規(guī)定單元格可橫跨的行數(shù)

最后注意一點:

* 表格中不能不寫tbody,因為不寫tbody這標簽,瀏覽器也會自動為你加上,當別人閱讀你的代碼
  時,會產(chǎn)生一些困惑,所以建議加上這個標簽

詳細屬性參考
此文章中多數(shù)引用——阮一峰的網(wǎng)絡日志

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,125評論 1 92
  • img標簽: img標簽中的img其實是英文image的縮寫,所以img標簽的作用, 就是告訴瀏覽器我們需要顯示一...
    佩佩216閱讀 1,701評論 0 2
  • HTML需要掌握標簽 標簽(空格分隔): H5+CSS [TOC] 常用標簽 img 注意點 和H系列標簽/p標簽...
    袁俊亮技術(shù)博客閱讀 2,128評論 1 8
  • 前端07班 王 對于table的使用我們會有種先入為主的厭惡。覺得頁面中不應該出現(xiàn)表格!其實這只是針對使用HTML...
    ea203453e188閱讀 2,806評論 0 5
  • 0.B/S結(jié)構(gòu) 瀏覽器服務器模式,web瀏覽器是客戶端最主要的應用軟件.將客戶端使用web進行統(tǒng)一,系統(tǒng)功能實現(xiàn)集...
    liusong007閱讀 1,200評論 0 1

友情鏈接更多精彩內(nèi)容