第六十三节,html表格元素
html表格元素
学习要点:
1.表格元素总汇
2.构建表格解析
本章主要探讨HTML5中表格元素的用法。表格的主要用途是以网格的形式显示二维数据。
一.表格元素总汇
表格的基本构成最少需要三个元素:<table>、<tr>、<td>,其他的一些作为可选辅 助存在。
元素名称 说明
table 表示表格
thead 表示标题行
tbody 表示表格主体
tfoot 表示表脚
tr 表示一行单元格
th 表示标题行单元格
td 表示单元格
col 表示一列
colgroup 表示一组列
caption 表示表格标题
二.构建表格解析
1.<table><tr><td>构建基础表格
<table border="1">
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</table>
效果:
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
解释:<table>元素表示一个表格的声明,<tr>元素表示表格的一行,<td>元素表示一个单元格。默认情况下表格是没有边框的,所以,在<table>元素增加一个border属性,设置为1即可显示边框。
2.<th>为表格添加标题单元格
<table border="1" style="width:300px;">
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
解释:<th>元素主要是添加标题行的单元格,实际作用就是将内部文字居中且加粗,这里使用了一个通用属性style,主要用于CSS样式设置,以后会涉及到。<th><td>均属于单元格,包含两个合并属性:colspan横向合并、rowspan纵向合并等。
colspan横向合并单元格,也就是向左合并
<table border="1" style="width:300px;">
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
<tr>
<td colspan="3">共计</td> <!--注意这个colspan横向合并3,表示合并共站表格数-->
</tr>
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
| 共计 | ||
rowspan纵向合并,也就是向下合并
<table border="1" style="width:300px;">
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td rowspan="2">女</td> <!--注意这个rowspan纵向合并2,表示合并共站表格数-->
<td rowspan="2">已婚</td>
</tr>
<tr>
<td>共计</td>
</tr>
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
| 共计 |
注意:合并只能操作单元格,<th><td>均属于单元格
3.<thead>添加表头
<table border="1" style="width:300px;">
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束-->
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
解释:<thead>元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头位置。
4.<tfoot>添加表脚
<table border="1" style="width:300px;">
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
<tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束-->
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
解释:<tfoot>元素为表格生成表脚,限制在表格的底部。
5.<tbody>添加表主体
<table border="1" style="width:300px;">
<tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部-->
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
</tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束-->
</table>
解释:<tbody>元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续CSS JavaScript的控制。
表单头、主体、尾部正确格式化
<table border="1" style="width:300px;">
<thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部-->
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
</tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束-->
</table>
6.<caption>添加表格标题
<table border="1" style="width:300px;">
<caption>这是一个人物表</caption> <!--添加表格标题--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部-->
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
</tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束-->
</table>
效果:
| 姓名 | 性别 | 婚姻 |
|---|---|---|
| 张三 | 男 | 未婚 |
| 李四 | 女 | 已婚 |
解释:<caption>元素给表格添加一个标题。
7.<colgroup>设置列
<table border="1" style="width:300px;">
<caption>这是一个人物表</caption> <!--添加表格标题-->
<colgroup span="1" style="background:red;"></colgroup> <!--设置列-->
<colgroup span="1" style="background:#2B2B2B;"></colgroup> <!--设置列--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部-->
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
</tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束-->
</table>
效果:

解释:<colgroup>元素是为了处理某个列,span属性定义处理哪些列。1表示第一列,2表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,再处理第二个即可。
8.<col>更灵活的设置列
<table border="1" style="width:300px;">
<caption>这是一个人物表</caption> <!--添加表格标题-->
<colgroup>
<col> <!--不需要设置的列,可以用col当做占位符-->
<col style="background:red;" span="1">
</colgroup> <!--设置列--> <thead> <!--添加表头开始,也就是表头部分用<thead>元素包起来,声明是表头,无论表头代码在表单什么位置,它始终显示在表单头部-->
<tr>
<th>姓名</th>
<th>性别</th>
<th>婚姻</th>
</tr>
</thead> <!--添加表头结束--> <tbody> <!--添加表主体开始,也就是主体部分用<tfoot>元素包起来,声明是表主体,无论表主体代码在表单什么位置,它始终显示在表单主体部-->
<tr>
<td>张三</td>
<td>男</td>
<td>未婚</td>
</tr>
</tbody> <!--添加表主体结束--> <tfoot> <!--添加表尾开始,也就是表尾部分用<tfoot>元素包起来,声明是表尾,无论表尾代码在表单什么位置,它始终显示在表单尾部-->
<tr>
<td>李四</td>
<td>女</td>
<td>已婚</td>
</tr>
</tfoot> <!--添加表尾结束-->
</table>
效果:

解释:<colgroup>的子标签,<col>元素表示单独一列,一个表示一列,控制更加灵活。如果设置了span则,控制多列。
第六十三节,html表格元素的更多相关文章
- 第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作
第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作 注意:前面讲到的各种操作都是一次http请求操作一条数据,如果想 ...
- 第一百六十三节,jQuery,基础核心
jQuery,基础核心 一.代码风格 在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号“$”来起 始的.而这个“$”就是jQuery当中最重要且独有的对象:jQuery对象,所 ...
- 【WPF学习】第六十八章 自定义绘图元素
上一章分析了WPF元素的内部工作元素——允许每个元素插入到WPF布局系统的MeasureOverride()和ArrangeOverride()方法中.本章将进一步深入分析和研究元素如何渲染自身. 大 ...
- 第二百六十三节,Tornado框架-基于正则的动态路由映射
Tornado框架-基于正则的动态路由映射 1.在路由映射条件里用正则匹配访问路径后缀2.给每一个正则匹配规则(?P<设置名称>)设置一个名称,3.在逻辑处理的get()方法或post() ...
- 面渣逆袭:Java并发六十问,快来看看你会多少道!
大家好,我是老三,面渣逆袭 继续,这节我们来盘一盘另一个面试必问知识点--Java并发. 这篇文章有点长,四万字,图文详解六十道Java并发面试题.人已经肝麻了,大家可以点赞.收藏慢慢看!扶我起来,我 ...
- 第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能
第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.e ...
- 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询
第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...
- 第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
第三百四十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别 第一步.首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://gith ...
- Gradle 1.12用户指南翻译——第六十五章. Maven 发布(新)
其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...
随机推荐
- CodeForces 384C Milking cows
水题. 对于两个$0$,肯定是先删去后面的$0$,再删去前面的$0$. 对于两个$1$,肯定是先删去前面的$1$,再删去后面的$1$. 对于一个$0$和一个$1$,无论先删哪一个,对答案做出的贡献都是 ...
- 简述java程序中的main方法
简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) ...
- 启用div作为编辑器 添加contentEditalbe属性
1.自从HTML5中新引入了contentEditalbe属性以后,div就与textarea一样,可以作为最常用的编辑器使用. 1.启用div作为编辑器 让div进入编辑状态很简单,只需要: 复制代 ...
- iOS 加载Image的两种方式
Apple官方文档对于加载image提供了两个方法 + (nullable UIImage *)imageNamed:(NSString *)name; + (nullable UIImage *)i ...
- Oracle 视图操作
-- 创建视图create view V_TEST asselect * from T_TEST where rownum <100 select * from V_TEST-- 新建视图用户 ...
- JavaEE XML XPath
JavaEE XML XPath @author ixenos XPath技术 1 引入 问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!!需要遍历DOM树的众多节点 ...
- jquery插件autoComplete自动弹出
导入 <link rel="stylesheet" href="${ctx }/static/plugins/jQuery-autoComplete-master/ ...
- [Q]AdobePDF打印机“仅依靠系统字体”问题
使用Adobe打印机打印时提示: 解决方法: 不勾选“仅依靠系统字体”选项,并确认.
- 用Redis作为Mysql数据库的缓存【转】
用Redis作Mysql数据库缓存,必须解决2个问题.首先,应该确定用何种数据结构存储来自Mysql的数据:在确定数据结构之后,还要考虑用什么标识作为该数据结构的键. 直观上看,Mysql中的数据都是 ...
- [Linux]当一个棘手问题需要即可定位,如何协助开发,缩小定位范围
写在前面:前段时间,朋友给我说了一个她亲身经历的某知名企业面试故事,面试结束感觉自己已脱了一层皮...面试官的问题并不刁钻,但是却是步步紧逼,而且有点类似拜占庭将军问题,只是拜占庭将军问题是所有的假设 ...