HTML入门基础2:表格

表格在网页中的应用比较广泛,如用户管理、电商网站购物车,还有很多分栏结构都是用表格写的。

基础表格语法
表格用三种标签,分别是table代表整个表格、tr代表行、td代表单元格。三种标签彼此是嵌套关系。

<!--创建一个三行两列的,边框为1的表格-->
<table border="1">
    <tr><td>上午</td><td>下午</td></tr>
    <tr><td>语文</td><td>英语</td></tr>
    <tr><td>数学</td><td>历史</td></tr>
</table>

插入和删除
插入行:插入一个tr标签以及该行所包括的所有td标签。
删除列:删除每一个tr标签里的相同位置的td标签。

带标题和表头的表格

<table border="1" width="500px">
    <caption>三年一班课程表</caption><!--表格的标题,内容居中显示-->
    <tr><th>星期一</th><th>星期二</th></tr><!--表格的第一行表格头,内容居中加粗显示-->
    <tr><td>语文</td><td>英语</td></tr><!--普通单元格,内容靠左不加粗-->
    <tr><td>数学</td><td>历史</td></tr>
</table>

带结构的表格
如果我们所编辑的表格太大,那么浏览器在加载内容时就会很慢。如果需要等所有内容都加载完再显示,用户体验不好。因此需要把表格分割成几块,让其一块一块地显示。相当于对表格的行进行分组。
表格划分为三部分:表头、主体、脚注。
表格的头thead标签:放表格的第一行即表头。
表格的主体tbody标签:放表格主体内容。
表格的脚注tfoot标签:放脚注。
注意:thead标签里的内容永远显示在表格最上方,tfoot标签里的内容永远显示在表格最下方,无论你把它们俩放到文档的哪个部分。

一个完整的表格结构如下:

<table border="1" width="500px">
    <caption>标题</caption>
    <thead>
        <tr><th>表头</th><th>表头</th></tr><!--表格的第一行表格头-->
    </thead>
   <tbody>
        <tr><td>主体</td><td>主体</td></tr>
        <tr><td>主体</td><td>主体</td></tr>
    </tbody>
   <tfoot>
        <tr><td>脚注</td><td>脚注</td></tr>
    </tfoot>
</table>

表格属性:table标签的属性

表格属性:table标签的外边框属性

表格属性:table标签的内边框属性

表格属性:tr标签的属性,针对表格的每一行

表格属性:th和td标签的属性,针对表格的每一个单元格

表格属性:thead、tbody和tfoot标签的属性,针对表格的每一个部分

表格的跨行rowspan和跨列colspan
前面所接触的都是最基本的形式的表格,那如果表格里有某个单元格跨行或者跨列了该怎么编写?
拿到一个跨行或者跨列的表格,先不去看跨行跨列的那些单元格,先把表格的最基本的格式写出来。
例如下图的表格:


首先把表格最基本的形式写出来。本例最基本的格式是6行5列。代码如下:

<table border="1" width="500" cellspacing="0" cellpadding="5px" align="center">
    <caption>课程表</caption>
    <tr bgcolor="pink" align="center">
        <th>星期一</th>
        <th>星期二</th>
        <th>星期三</th>
        <th>星期四</th>
        <th>星期五</th>
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <td>课间活动</td>
        <td>课间活动</td>
        <td>课间活动</td>
        <td>课间活动</td>
        <td>课间活动</td>
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
</table>

效果如下:


接下来处理星期一的语文的跨行:
对表格的第二行、第一列的单元格td设置跨行属性,属性值为2。同时把第三行、第一列的单元格td删掉。效果如下:



再处理课间活动的跨列:
对表格的第四行、第一列设置跨列属性,属性值为5。同时把第四行、第二三四五列的单元格td删掉。效果如下:


最终代码:

<table border="1" width="500" cellspacing="0" cellpadding="5px" align="center">
    <caption>课程表</caption>
    <tr bgcolor="pink" align="center">
        <th>星期一</th>
        <th>星期二</th>
        <th>星期三</th>
        <th>星期四</th>
        <th>星期五</th>
    </tr>
    <tr align="center">
        <td rowspan="2">语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <!-- <td>语文</td> -->
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <td colspan="5">课间活动</td>
        <!-- <td>课间活动</td>
        <td>课间活动</td>
        <td>课间活动</td>
        <td>课间活动</td> -->
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
    <tr align="center">
        <td>语文</td>
        <td>数学</td>
        <td>化学</td>
        <td>英语</td>
        <td>生物</td>
    </tr>
</table>

表格的嵌套
即表格里还有一个小表格。嵌入表格需要满足:嵌入的小表格有完整的表格结构;嵌入的小表格需要放到大表格的td标签中。

利用表格来搭建网页布局
例如:一个网页,有位于最顶部的导航条、位于最底部的版权信息、还有位于中间的主体内容、这三部分之间又有细细的一条缝隙。也就是说站在全局角度,网页是一个五行一列的表格。然后再在主体内容行上嵌套一个一行三列的小表格,是网页主体内容的细致的布局。如果还有更细致的布局,还可以继续嵌套。

在进行网页布局时,表格一般不设置border属性。当然,在开发过程中可以先加上border属性来便于观察,开发结束再删掉就行了。

表格布局应该遵循的两个原则:尽可能少的用表格嵌套;尽可能少的跨行跨列。
如图所示的网页布局:



它的代码如下:

<table width="100%">
    <tr bgcolor="pink" height="80px"><td></td></tr><!--顶部导航-->
    <tr height="10px"><td></td></tr><!--缝隙-->
    <tr bgcolor="orange"><td><!--主体内容-->
        <table align="center"><!--表格嵌套-->
            <tr><td width="240px" bgcolor="white">左侧内容</td><td width="20px"></td><td width="764px" bgcolor="white">右侧内容</td></tr>
        </table>
    </td></tr>
    <tr height="10px"><td></td></tr><!--缝隙-->
    <tr bgcolor="black" height="80px"><td></td></tr><!--底部版权-->
</table>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342