HTML学习笔记(一)——表格

表格结构

表格结构:表格分有表头(<thead></thead>)表格主体正文(<tbody></tbody>)表尾(<tfoot></tfoot>),以及表格标题(caption)会自动出现在整张表格的上方,此外对表格的更长描述可以写在table标签的summary属性中,其次(<th></th>)定义表格的表头单元格,且th元素内部的文本通常会呈现为粗体代码示例:

<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必须出现在tbody前面,这样浏览器在接收主体数据之前,就能渲染表尾,这有利于加快表
  格的显示速度。这一点对大型表格尤其重要
* thead 、tbody和tfoot里面都必须使用tr标签,以表示行
* 同时注意th是表头thead中的单元格与td数据单元有区别  

列分组

tbody可以用来对“行”进行分组,colgroup则用来对“列”进行分组。
例如:下面代码表示前2列为一组,每一列的宽度为20px。

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

浏览器显示效果如下:

2.jpg

几个注意点:

* span属性,用来指定colgroup标签能够控制的列数
* 在colgroup标签内部,可以使用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表示单元格的大小由内容决定。fixed表示单元格的大小是固定的,由第一个指定大小的单元格决定,如果所有的单元格都没有指定大小,则由第一个单元格的默认大小决定;如果单元格的内容超出单元格的大小,则用CSS中的overflow控制。同时表格的显示速度可以加快100倍。
同时注意:

* 想要加快表格显示,最好事先在CSS或者table标签的width和height属性中指定
  表格的宽度和高度

th和td的区别

表示单元格的标签是th(table head)和td(table data),前者用来显示数据名称,后者用来显示数据内容
代码示例:

<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属性规定外侧边框的哪个部分是可见的。rules属性规定内侧边框的哪个部分是可见的。
frame属性可取的属性值如下:

* void - 默认值。表示不显示表格最外围的边框
* above - 只显示上部的外侧边框
* below - 只显示下部的外侧边框
* hsides - 显示上部和下部的外侧边框
* vsides - 显示左边和右边的外侧边框
* lhs - 显示左边的外侧边框
* rhs - 显示右边的外侧边框
* box - 在所有四个边上显示外侧边框
* border - 在所有四个边上显示外侧边框

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 -[可取像素值] 规定表格边框的宽度
* cellpadding -[可取像素值和百分比] 规定单元边沿与其内容之间的空白
* cellspacing - [可取像素值和百分比]规定单元格之间的空白 
* frame - 规定外边框的哪个部分可见 
* rules - 规定内边框的哪个部分可见
* summary - 规定表格的摘要描述
* width - 规定表格的宽度

td常用属性及取值

* align - [left-right-center-justify-char]规定单元格内容的水平对齐方式
* headers - [headers_cells'_id]规定单元格相关的表头
* colspan - [number]规定单元格可横跨的列数
* rowspan - [number]规定单元格可横跨的行数

最后注意一点:

* 表格中不能不写tbody,因为不写tbody这标签,浏览器也会自动为你加上,当别人阅读你的代码
  时,会产生一些困惑,所以建议加上这个标签

详细属性参考
此文章中多数引用——阮一峰的网络日志

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • img标签: img标签中的img其实是英文image的缩写,所以img标签的作用, 就是告诉浏览器我们需要显示一...
    佩佩216阅读 1,480评论 0 2
  • HTML需要掌握标签 标签(空格分隔): H5+CSS [TOC] 常用标签 img 注意点 和H系列标签/p标签...
    袁俊亮技术博客阅读 2,049评论 1 8
  • 前端07班 王 对于table的使用我们会有种先入为主的厌恶。觉得页面中不应该出现表格!其实这只是针对使用HTML...
    ea203453e188阅读 2,705评论 0 5
  • 0.B/S结构 浏览器服务器模式,web浏览器是客户端最主要的应用软件.将客户端使用web进行统一,系统功能实现集...
    liusong007阅读 1,053评论 0 1