第六十三节,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 ...
随机推荐
- qdoc 写法
Qdoc 注释 Qdoc注释有一些命令, 能够对文档进行组织. QDoc能识别以下3种类型的命令 主题(topic command) 主题命令确定了文档的元素,例如C++类(class),函数(fun ...
- 第10章 使用MySQL数据库
1.在数据库中插入数据:INSERT语句: 如://插入一整行: insert into customers values (NULL,'-','-','-'), - ; //插入一行中指定的列内容: ...
- java 文件下载支持中文名称
/** * 文件下载 * @param filePath 文件路径 * @param fileName 文件名称 */ public void download(String filePath,Str ...
- java操作mongodb——连接数据库
import com.mongodb.MongoClient; MongoClient mongoClient = new MongoClient(); 连接MongoDB实例,默认为localhos ...
- 解决mac-osx10.11下无法安装wxPython2.8-osx-unicode-2.8.12.1的问题
在mac-osx10.11版本下,安装RIDE前提需要装wxPython2.8-osx-unicode-2.8.12.1库,但在安装wxPython过程中,会提示安装失败,以下提供一种解决方案 这里我 ...
- [ mysql优化一 ] explain解释select语句
NOSQL 没有什么数据表, 只是一些变量,key_value ,redis 支持的变量比较多.可以持久化文件到硬盘上. mysql 关系型数据库 ,表和表中间有各种id的关系. 缺点 高并发读 ...
- Java Script 学习笔记
JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...
- Centos6.5环境中安装vsftp服务
1.检查vsftp是否安装 命令:rpm -qa|grep vsftpd 若已经安装,则显示相关的版本信息,否则什么也没有. 也可以输入find -name "vsftpd" -p ...
- chrome下li标签onclick事件无效
//绑定事件 $(document).ready(function () { $("ul").children().click(function () { clickLi(this ...
- Linux 文件服务---------- nfs Server
Linux 文件服务nfs (Network file system)#网络文件系统 ---> 远程文件调用samba #文件共享(unix /linux /windows ) ,只能适用于局域 ...