HTML5:表格

表格的作用是显示二维数据,在HTML5中不再允许用表格控制页面内容的布局,而是采用新增的CSS表格特性(这里不涉及CSS,将在后面介绍)。下面主要介绍用于制作表格的HTML元素。

构建表格

表格的基本元素包括:table、tr和td。
table表示HTML文档中的表格,支持border属性,用于定义表格边框的宽度;
tr表示表格中的行;
td表示表格中的单元格,包括如下属性:
1)colspan:规定单元格可横跨的列数;
2)rowspan:规定单元格可横跨的行数;
3)headers:规定与单元格相关的标头,该属性不会在普通浏览器中产生任何视觉变化,但可以被屏幕阅读器使用。

<table>
	<tr>
		<td>Apples</td>
		<td>Green</td>
		<td>Medium</td>
	</tr>
	<tr>
		<td>Oranges</td>
		<td>Orange</td>
		<td>Large</td>
	</tr>
</table>

上面定义了一个两行、三列的表格,使用表格的好处是:浏览器会保证列的宽度满足最宽的内容,让行的高度满足最高的单元格。

表格边框

使用table元素的border属性,可以为表格添加边框。

<table border="1">
	<tr>
		<td>Apples</td>
		<td>Green</td>
		<td>Medium</td>
	</tr>
	<tr>
		<td>Oranges</td>
		<td>Orange</td>
		<td>Large</td>
	</tr>
</table>

浏览器的默认边框不太美观,通常还需要用CSS来为为各种元素重设边框样式。

不规则表格

使用单元格的colspan和rowspan属性可以构建不规则表格,使表格的某些行或者列跨越多个单元格,下面是一个单元格跨多列的一个例子:

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td colspan="2">January</td>
  </tr>
  <tr>
    <td colspan="2">February</td>
  </tr>
</table>

下面是一个单元格跨多行的一个例子:

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100.00</td>
    <td rowspan="2">$50</td>
  </tr>
  <tr>
    <td>February</td>
    <td>$10.00</td>
  </tr>
</table>

表头

th元素用于为表格添加表头,可以用来区分数据和对数据的说明。th元素支持如下属性:
1)colspan:规定单元格可横跨的列数;
2)rowspan:规定单元格可横跨的行数;
3)scope:定义将表头数据与单元数据相关联的方法;
3)headers:由空格分隔的表头单元格ID列表,为数据单元格提供表头信息,该属性不会在普通浏览器中产生任何视觉变化,但可以被屏幕阅读器使用。

<table>
	<tr>
		<th>Rank</th><th>Name</th>
		<th>Color</th><th>Size</th>
	</tr>
	<tr>
		<th>Favorite:</th>
		<td>Apples</td><td>Green</td><td>Medium</td>
	</tr>
	<tr>
		<th>2nd Favorite:</th>
		<td>Oranges</td><td>Orange</td><td>Large</td>
	</tr>
	<tr>
		<th>3rd Favorite:</th>
		<td>Pomegranate</td><td>A kind of greeny-red</td>
		<td>Varies from medium to large</td>
	</tr>
</table>

可以在一行中混合使用th和td。

让单元格关联表头

使用td的headers属性可以将单元格和表头关联,关联的目的主要是供屏幕阅读器和其他残障辅助技术用来简化对表格的处理。headers属性可以为一个或多个th单元格的id属性值:

<table border="1" width="100%">
  <tr>
	<th id="name">Name</th>
	<th id="Email">Email</th>
	<th id="Phone">Phone</th>
	<th id="Address">Address</th>
  </tr>
  <tr>
	<td headers="name">George Bush</td>
	<td headers="Email">[email protected]</td>
	<td headers="Phone">+789451236</td>
	<td headers="Address">Fifth Avenue New York,USA</td>
  </tr>
</table>

构造复杂表头

使用th的colspan和rowspan属性可以构造复杂表头。

<table border="1">
  <tr>
    <th colspan="2">Company in USA</th>
  </tr>
  <tr>
    <th>Name</th><th>Addr</th>
  </tr>
  <tr>
    <td>Apple, Inc.</td>
    <td>1 Infinite Loop Cupertino, CA 95014</td>
  </tr>
  <tr>
    <td>Google, Inc.</td>
    <td>1600 Amphitheatre Parkway Mountain View, CA 94043</td>
  </tr>
</table>

为表格添加结构

可以使用thead、tbody和tfoot元素来为表格添加结构,这样可以让为表格各个部分添加CSS样式变得更加容易。
1)表格主题
tbody元素表示构成表格主题的全体行,不包括表头行(thead元素表示)和表脚行(tfoot元素表示)。
注意大多数浏览器在处理table元素时都会自动插入tbody元素。
2)表格表头
thead元素用来标记表格的标题行。如果没有thead元素的话,所有tr元素都会被视为表格主体的一部分。
3)添加脚注
tfoot元素用来标记组成表脚的行。在HTML5之前tfoot元素只能出现在tbody元素之前,而在HTML5中则允许将tfoot元素放在tbody之后。
下面是一个综合的例子,里面使用了tbody、thead和tfoot元素。

<table>
	<thead>
		<tr>
			<th>Rank</th><th>Name</th><th>Color</th><th>Size</th>
		</tr>
	</thead>
	<tfoot>
		<tr>
			<th>Rank</th><th>Name</th><th>Color</th><th>Size</th>
		</tr>
	</tfoot>
	<tbody>
		<tr>
			<th>Favorite:</th>
			<td>Apples</td><td>Green</td><td>Medium</td>
		</tr>
		<tr>
			<th>2nd Favorite:</th>
			<td>Oranges</td><td>Orange</td><td>Large</td>
		</tr>
		<tr>
			<th>3rd Favorite:</th>
			<td>Pomegranate</td><td>A kind of greeny-red</td>
			<td>Varies from medium to large</td>
		</tr>
	</tbody>
</table>

为表格添加标题

使用caption元素可以为表格定义一个标题,并将其与表格关联起来。

<table>
	<caption>Results of the 2011 Fruit Survey</caption>
	<thead>
		<tr>
			<th>Rank</th><th>Name</th><th>Color</th><th>Size</th>
		</tr>
	</thead>
	<tfoot>
		<tr>
			<th>Rank</th><th>Name</th><th>Color</th><th>Size</th>
		</tr>
	</tfoot>
	<tbody>
		<tr>
			<th>Favorite:</th>
			<td>Apples</td><td>Green</td><td>Medium</td>
		</tr>
		<tr>
			<th>2nd Favorite:</th>
			<td>Oranges</td><td>Orange</td><td>Large</td>
		</tr>
		<tr>
			<th>3rd Favorite:</th>
			<td>Pomegranate</td><td>A kind of greeny-red</td>
			<td>Varies from medium to large</td>
		</tr>
	</tbody>
</table>

一个表格只能包含一个caption元素,无需是表格的第一个元素,但始终显示在表格上方。

列分组

在表格中,由于表格都是按行组建的,导致对列的操作不太方便,例如为表格的某列定义样式。可以使用colgroup元素来指定列的分组。

<html>
<head>
    <style>
        #colgroup1{background-color: red}
        #colgroup2{background-color: green; font-size=small}
    </style>
</head>
<body>
<table width="100%" border="1">
  <colgroup id="colgroup1" span="2" ></colgroup>
  <colgroup id="colgroup2"></colgroup>
  <tr>
    <th>ISBN</th>
    <th>Title</th>
    <th>Price</th>
  </tr>
  <tr>
    <td>3476896</td>
    <td>My first HTML</td>
    <td>$53</td>
  </tr>
  <tr>
    <td>2489604</td>
    <td>My first CSS</td>
    <td>$47</td>
  </tr>
</table>
</body>
</html>

上面的例子中指定了两个列的组,第一个包含前2列,第二个包含剩下的1列,并为不同的分组指定了不同的样式。colgroup的span属性指定扩展几列,如果不指定span属性,也可以指定一个或多个col元素,下面的例子达到了和上面例子一样的效果。

<html>
<head>
    <style>
        #colgroup1{background-color: red}
        #col3{background-color: green; font-size=small}
    </style>
</head>
<body>
<table width="100%" border="1">
  <colgroup id="colgroup1">
	<col id="col1And2" span="2"/>
	<col id="col3"/>
  </colgroup>
  <tr>
    <th>ISBN</th>
    <th>Title</th>
    <th>Price</th>
  </tr>
  <tr>
    <td>3476896</td>
    <td>My first HTML</td>
    <td>$53</td>
  </tr>
  <tr>
    <td>2489604</td>
    <td>My first CSS</td>
    <td>$47</td>
  </tr>
</table>
</body>
</html>

时间: 2024-10-17 12:11:56

HTML5:表格的相关文章

扩展HT for Web之HTML5表格组件的Renderer和Editor

在HT for Web提供了一下几种常用的Editor,分别是: slider:拉条 color picker:颜色选择器 enum:枚举类型 boolean:真假编辑器 string:普通的文本编辑器 除了这几种常用编辑器之外,用户还可以通过继承ht.widget.BaseItemEditor类来实现自定义编辑器. 而渲染器,在HT for Web提供常用的Renderer有: enum:枚举类型 color:颜色类型 boolean:真假渲染器 text:文本渲染器 和编辑器一样也可以自定义

3.3 HTML5表格使用

<table>定义表格 <caption>定义表格标题 <th>定义表格的表头 <tr>定义表格的行 <td>定义表格的单元 <thead>定义表格的页眉 <tbody>定义表格的主体 <tfoot>定义表格的页脚 <col>定义表格的列属性 <table>的border="1"属性可以添加边框:cellpadding属性改变单元格大小: cellspacing属性改

html5 表格新标签

figure  和  figcaption  元素可以为表格声明标题 th元素可以定义 headers 属性和 scope 属性,用来帮助非可视化的浏览器和搜索引擎处理表头信息 thead tfoot 和 tbody元素必须包含一个或多个行,并且thead tfoot 和 tbody 元素必须包含相同数量的列 这三个元素必须位于table元素内,tfoot元素也必须在tbody元素之前定义 thead元素和tfoot元素在一个表格中都只能有一个,而tbody元素可以有多个. fieldset 元

HTML5表格的介绍与使用

(1)表格中的常见元素,<table>用来定义表格,<caption>定义表格标题,<th>表头,<tr>行,<td>单元,<thead>页眉,<tbody>主体,<tfoot>页脚,<col>列属性 (2)表格的常见用法: 1,没有边距的表格(代码如下) <!DOCTYPE html> <html> <head lang="en"> <

HTML5表格

1.单元格 单元格是表格的最小单位,一个或多个单元格纵横排列组成了表格. 2.行 一个或多个单元格横向堆叠形成了行. 3.列 由于表格单元格的宽度必须一致,因此单元格纵向排列形成了列. 1.表格的基本语法 <table> <tr> <th>第一个单元格的内容</th> 表格标题,字更粗 <th>第二个单元格的内容</th> ... </tr> <tr> <td>第一个单元格的内容</td>

HTML5 - 表格与列表处理

有序无序列表 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

HTML5表格标记

表格标记:<table></table>.<tr></tr>.<td></td>.<th></th>.<caption></caption> table参数: 代码: 标题行:php是世界上最好的语言 合并两栏 第一栏第一行 第二栏第一行 第一栏第二行 第二栏第二行 原文地址:http://blog.51cto.com/13881481/2149164

HTML5端云整合:智能端应用与云端服务整合开发实战

课程简介:       作为Web与移动开发的新标准的HTML5/JavaScript/CSS3,已经纷纷被手机应该开发采用,这不但让UI极具弹性,而且也更容易与云计算整合. 本课程是云计算与智能终端时代的HTML5开发的一站式解决方案,专为企业内训和公开课制作,是完整覆盖HTML5时代开发人员所需使用的360度的技术解决方案,内容细致入微: 课程目标: 全面解析以HTML5+JavaScript来开发应用: 使用JavaScript开发云计算: 定制浏览器并具备开放html5浏览器的能力: 学

二,细说 HTML5 之 HTML5 基础讲解 2

这是一个HTML5系列,主要是零基础的宝宝们快速认识与学习HTML5. HTML5 样式.链接和表格 1.HTML5 样式 标签 描述 <style> 定义样式定义 <link> 定义资源引用 <div> 定义文档中的节或区域(块级) <span> 定义文档中的行内的小块或区域 属性: 属性 描述 rel="stylesheet" 外部样式表 type="text/css" 引入文档的类型 margin 边距 三种样式

HTML5三屏合一的架构设计

课程简介: 将电视.电脑.手机(含Tablet)三块屏幕融合为一是HTML5非常重要的使命,而HTML5整个生态系统的技术为此实现极大的便利: 作为Web与移动开发的新标准的HTML5/JavaScript/CSS3,已经纷纷被电视.电脑.手机(含Tablet)应用开发采用,这不但让UI极具弹性,而且也更容易与云计算整合. 本课程是云计算与智能终端时代的HTML5开发的一站式解决方案,专为企业内训和公开课制作,是完整覆盖HTML5时代开发人员所需使用的360度的技术解决方案,内容细致入微: 课程