3.1 表格概述
由行和列构成的单元格组成,可以包含文本、数字或其他HTML元素。
3.1.1 表格的结构
表格是由行和列组成的二维表,而每行又由一个或多个单元格组成,用于放置数据或其他内容。表格中的单元格是行与列的交叉部分,是组成表格的最基本单元。单元格的内容是数据,也称数据单元格。数据单元格可以包含文本、图片、列表、段落、表单、水平线或表格等元素。
3.1.2 表格的基本语法
在HTML中,常用表格主要通过5个标记构成:<table>,<caption>,<th>,<tr>, <td>
(1)table标记是成对标记,<table>表示表格开始,</table>表示表格结束。
(2)caption 标记是成对标记,<caption>表示标题开始,</caption>表示标题结束。使用caption标记可以给表格添加标题,该标题应位于table 标记与t标记之间的位置。
(3)tr (Table Row)标记是成对标记,<tr>表示行开始,</tr>表示行结束。
(4)th (Table Heading 表头)标记是成对标记,<th>表示表头开始,</th>表示表头结束,设计表格时,表头常常作为表格的第1行或者第1列,用来对表格单元的内行说明。表头文字内容一般居中、加粗显示。
(5)td (Table Data)标记是成对标记,定义单元格或列。以<td>开始,以</td>结束表头可以用 th标记定义,也可以用td 标记定义,但<td></td>两标记之间的内容不自动居中、不加粗。
在一个表格中,可以插人多个tr标记,表示多行,一组<tr></tr>标记表示插入一行一行中可以有多个列,列中的内容可以是文字、数据、图像、超链接、表单元素等。
3.2 表格属性的设置
表格是网页文件中布局的重要元素,制作网页的过程中常常要对网页中的表格做一些设置,对表格的设置实质是对表格标志属性的一些设置。
3.2.1 表格边框属性
设置表格标记中的边框属性可以改变表格的外观。
语法:
<table border="" bordercolor="" bordercolorlight =""bordercolordark ="">.</table>
(1)border 属性。用于设置边框的粗细,单位是像素。
(2)bordercolor 属性。用于设置表格边框的颜色,可以使用rgb函数、十六进制数和色英文名称。
(3)bordercolorlight 属性。用于设置表格亮边框,对表格左上边框生效。
(4)bordercolordark 属性。用于设置表格暗边框,对表格右下边框生效。
3.2.2 表格的宽度和高度属性
语法:<table width=" height="">.-</table>
(1)width:用于定义表格的宽度。
(2)height:定义表格的高度。
设置表格标记中的高度与宽度为百分比时,表格会跟随浏览器窗口的改变而自动调整。
3.2.3 表格背景颜色与表格图像属性
1)bgcolor。可以用rgb函数、十六进制、英文颜色名称来设置背景颜色。
(2) background。设置背景图像,图像的路径可以是绝对路径或相对路径。
(3)同时设置背景颜色和背景图像属性时,背景图像会部分或完全覆盖背景颜色。
语法:<table bgcolor=""buckground="">-.</table>
3.2.4 表格边框样式属性
3.2.5 表格单元格间距、单元格边距属性
设置表格标记中的cellspacing属性可以改变表格单元格之间的间隔,使网页中的表格内容稍微松散一些。设置表格标记中的cellpadding属性可以增加表格单元格的内容与内部边框之间的距离。
语法:<table cellspacing="" cellpadding=""</table>
(1)cellspacing。值的单位为像素或百分比,默认值为2px。
(2)cellpadding。值的单位为像素或百分比。
3.2.6 表格水平对齐属性
对齐方式:居中(center)、左对齐(left)、右对齐(right)
3.2.7 设置表格的(tr)标记行的属性
语法:
<table align="center">
<tr align="left" valign="top">
<td>...</td>
</tr>
....
通过r标记的align属性可以设置行内容的水平对齐方式。水平对齐方式有居左对齐、居中对齐和居右对齐。
通过tr标记的valign 属性可以设置行内容的垂直对齐方式。垂直对齐方式有顶部对齐、居中对齐和底部对齐。
3.2.8 设置单元格的属性
表格的列(td)标记的属性可以设置表格单元格的显示风格。td标记常用的属性如表
3.2.9 表格单元格跨行、跨列属性
1.单元格跨行
语法:
<td rowspan="行数">…</td>
使用单元格td标记的rowspan属性可以设置单元格跨行合并。
列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>设置单元格跨列、跨行属性</title>
</head>
<body>
<h2 align="center">设置单元格跨列、跨行属性</h2>
<table border="1px" width=800px height="200px" align="center">
<caption>专业研讨会日程安排</caption>
<tr align="center">
<td colspan="2">上午</td>
<td colspan="2">下午</td>
</tr>
<tr align="left">
<td>8:00-10:00</td>
<td>10:10-12:00</td>
<td>14:00-16:00</td>
<td>16:10-18:00</td>
</tr>
<tr align="center">
<td rowspan="2">学校领导讲话</td>
<td>大会主题报告</td>
<td>行业企业专题报告</td>
<td rowspan="2">总结报告</td>
</tr>
<tr align="center">
<td>专家报告</td>
<td>分组讨论</td>
</tr>
<tr align="center">
<td colspan="4">全天参观人工智能实训中心</td>
</tr>
</table>
</body>
</html>
结果:
2.单元格跨列
语法:
<td colspan="列数">…</td>
使用单元格td标记的clospan属性可以设置单元格跨合并。
3.3 表格嵌套
表格嵌套是一种常见的页面布局方式。利用表格嵌套可以设计比较复杂且美观的页面效果。通常情况下,使用表格嵌套时,表格不宜过多使用,否则会降低网站访问速度。表格嵌套一般采用在单元格内嵌套表格。
列:
<style>
body{font-size:36px;}
</style>
<hr/ zize="5" color="ff0000">
<h3 align="center">3.3</h3><br/>
<h4 align="center">嵌套表格布局页面</h4>
<table width="660px" border="1" align="center" bordercolor="#3333ff">
<tr>
<td height="100">
<table width ="100%" border="1" bordercolor="red">
<tr height="50" align="center">
<td rowspan="2" width="100">logo</td>
<td>广告条</td>
</tr>
<tr height="50" align="center">
<td>导航</td>
</tr>
</table>
</td>
<tr>
<td height="300">
<table width="100%" border="1" bordercolor=" #33ff99">
<tr align="center">
<td height="300" width="30%">左栏目</td>
<td height="300" width="70%">正文内容</td>
</tr>
</table>
</td>
</tr>
<tr align = "center">
<td height="100">版权信息</td>
</tr>
</table>
结果:
3.4 表单
3.4.1 表单标记
表单form标记成对标记,以<form>开始f和<form>结束。
列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name = " forml" method= " post" action = " form_action. jsp" enctype = " text'plain" >
<body>
<h3>输入课程成绩</h3>
姓名:<input type =" text"/><br/>
网页设计:<input type="text" size="15"/>
数据结构:<input type="text" size="15"/><br/><br/>
<input type="submit"value="成绩提交"/>
<input type="reset"value="成绩重置"/>
</form>
</body>
</html>
结果:
3.4.2 定义域和域标题
利用fieldset 标记可以在网页上定义域,在表单中使用域可以将表单的相关元素进行分组,fieldset 标记将表单内容的一部分打包,生成一组相关表单的字段。当一组表单元素放到fieldset标记内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边界、3D效果或者可创建一个子表单来处理这些元素。legend标记为fieldset标记定义域标题。
语法:
<form>
<fieldset>
<legend alig="left I center | right">城标题内容</legend>
</fieldset>
</form>
3.4.3 表单信息输入
表单的主要功能是为用户提供输入信息的接口,将输入信息发送到服务器并等待服务器响应。表单中输入信息的标记是input标记,可以输入一行信息。input标记是单个标记。
3.4.3.1 单行文本输入框
设置 input 标记的 type 属性值为 text,可以实现向表单中插入一个单行文本框。在单行文本框中可以输人任意类型的数据,但是输入的数据只能单行显示,不能换行。
3.4.3.2 密码输入框
设置 input 标记的type 属性值为password,可以实现向表单中插入一个密码输入框。密码输人框中可以输人任意类型的数据,与单行文本输人框有所不同,这些数据不是实时地显示在页面上,而是被显示字符“·”所取代,这样设计可以保障用户输入的密码不被泄露。
列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
用户名:<input type="text" name="user" maxlength=" 20" size=" 10"/>
身份:<input type="text" name=" position" readonly value=" 学生"/><br>
密
码:<input type="password" maxlength="10" size="10"/><br/>
</form
</body>
</html>
结果:
3.4.3.3 复选框
设置input 标记的 type属性值为checkbox,可以实现向表单中插入一个复选框,用户利用复选框在网页上设置多项选择。
由于复选择框可以支持多选,每一个复选框都是不同的,一组复选框的所有name属性应该不同,value 属性值也应该不同。
3.4.3.4 单选按钮
设置input标记的type 属性值为radio,可以实现向表单中插入一个单选按钮,用户可利用单选按钮在网页上为某一选择设置多个单选项。
单选按钮的属性有name,vale和checked等,其属性、取值及说明与复选框相同。由于单选按钮必须是唯一的,在一组单选按钮中,只能选择一个单选按钮,所以一组单选按钮的所有name属性值必须相同,value 属性取值应该不同
3.4.3.5 图像按钮
设置input标记的属性值为image,可以实现向表单中插入一个图像按钮,用户可以利用图像按钮在网页上插入一张图像,通过src属性加载图像。
语法:
<input name="" type="image" src="" width="" height=""/>
列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form name="form1" mathod="post" action="form_action.jsp" enctype="text/plain">
用 户 名:<input type="text" name="usuer"/><br/>
性别:<input type="radio" name="sex" value="male"/>男
<input type="radio" name="sex" value="female"/>女<br/>
密 码:<input type="password" maxlength="10" size="10"/><br/>
用户类型:<input type="text" name="usertype" value="普通用户" readonly/><br/>
爱好:<input type="checkbox" name="a1" value="sing"/>唱歌
<input type ="checkbox" name="a2" value="dance"/>跳舞
<input type ="checkbox" name="a3" value="rap" checked/>Rap
<input type ="checkbox" name="a2=4" value="playbacketball"/>打篮球<br/>
<input type="image" name="start" src="img/hh.jpg"/><br/>
</body>
</html>
结果:
3.4.3.6 提交按钮
设置input标记的属性值为submit,可以实现向表单中插入一个提交按钮,提交按钮用于将表单的信息提交至服务器进行处理。
语法:
<input name="" type="submit" value="提交"/>
3.4.3.7 重置按钮
设置input标记的属性值为reset,可以实现向表单中插入一个重置按钮,重置按钮用于将表单中所有的输入信息清空,然后让用户重写
语法:
<input name="" type="reset" value=""/>
重置按钮的属性主要有name和value,其属性、取值及说明与提交按钮的相同。
<input type ="reset" name="reset"/>
3.4.3.8 普通按钮
设置input标记的属性值为button,可以实现向表单中插入一个普通按钮,普通按钮在网页设计中非常有用,如果不能通过表单按钮来处理事件,则可以给普通按钮绑定事件代码来实现所需的功能。
语法:
<input name="" type="button" value="" οnclick=""/>
3.4.3.9 文件选择框
设置input标记的type 属性值为file,可以实现向表单中插入一个文件选择框。
语法:
<input name=" " type=" file" value=" "/>
name,定义 input标记的名称。页面上会自动添加一个文本输人框和一个“浏览……按钮。单击“浏览…”按钮可以从“选择要加载的文件”对话框选择某一个文件,然后自动将文件名称回填到文本输入框中。
3.4.3.10 隐藏框
设置input 标记的type 属性值为hidden,可以实现向表单中插入一个隐藏框,用户提表单时,隐藏框的信息也会一起提交到服务器,但隐藏框在网页中是不可见的。
语法:cinput name="" type="hidden" value=""/>
说明:隐藏框的属性有name和value
3.4.4 多行文本输入框
textarea 标记可以向表单中插人多行文本输人框。多行文本输入框可以用来输人较多的文字信息,而且可以换行,并将这些信息提交到服务器。
语法:
<textarea name="" rows="" cols="" wrap=""/>初始内容信息</textarea>
列:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form>
<h3>请您填写宝贵意见:</h3>
<textarea name = " info" rows= " 4" cols=" $O" wrap= " virtual" >
</textarea>
</fon>
</body>
</html>
结果:
3.4.5 下拉列表框
下拉列表可以在表单中接收用户的输入。下拉列表通常需要同时使用select和option标记来在表单中插入下拉菜单和列表项。
语法:
<select name="" size="" multiple>
Coption ralue=""selected>文字信息1</ option>
<option value=“">文字信息2</option>
</select>
....
</select>
3.5 综合案例——表格与表单
案例1---达维工作室“联系我们”子页
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>达维工作室-----联系我们</title>
<style type="text/css">
.chu{
font weight:bold;
}
.zi1{
font-family:"微软雅黑";
font-size:20px;
font-weight:bold;
color:#ED630A;
}
.zi2{
font-family:"微软雅黑";
font-weight:bold;
color:#F60;
text-decoration:underline;
}
.zibai{
font-family:"微软雅黑";
color:#FFF;
}
body{
background-image: url(img/rr.jpg);
}
</style>
</head>
<body>
<table width="1190" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table width="1190" border="0" align="center" cellpadding="0" cellspacing="5">
<tr>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF">
<img src="img/ll.jpg" alt="" width="100" height="63"/>
</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">网站首页</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">关于我们</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">团队合作</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">相关作品</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">设计理念</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">人物介绍</td>
<td width="100" align="center" valign="middle" bgcolor="#FFFFFF" calss="zil">联系我们</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="20" cellpadding="0">
<tr>
<td height="318"> </td>
<td width="280" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="20">
<tr>
<td height="30" aligh="center" bgcolor="#FFFFFF" class="zi1">联系我们</td>
</tr>
<tr>
<td height="196" bgcolor="#FFAF03">
<p class="zibai">地址:广东省江门市XXXXXXXXX<br />
电话:0750-XXXXXX<br />
传真:0750-XXXXXX<br />
QQ:12345678<br />
电子邮箱:<br />
123@163.com<br />
工作室网站:<br/>
www.XXXX.com
</p>
</td>
</tr>
</table>
</td>
<td width="280" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="20">
<tr>
<td height="30" align="center" bgcolor="#FFFFFF" class="zi1">关于我们</td>
</tr>
<tr>
<td height="278" valign="top" bgcolor="#FC880D">
<p class="zibai">
达维工作室是专业从事互联网相关开发的公司。<br />
专门提供全方面的优质服务和最专业的网站建设方案为企业打造全新的电子平台。<br />
达维工作室成立于2014年,已经成为国内著名的网站建设提供商。多年的风雨历程.......
</p>
<p calss="zibai"> </p>
<p calss="zibai chu"><a href="#">更多>></a></p>
</td>
</tr>
</table>
</td>
<td width="280">
<table widht="100%" border="0" cellspacing="0" cellpadding="20">
<tr>
<td height="30" align="center" bgcolor="#FFFFFF" class="zi1">团队合作</td>
</tr>
<tr>
<td height="332" valign="top" bgcolor="#66A00E">
<p class="zi2">我们的团队:</p>
<p class="zibai">成员都具有多年的实际设计工作经验,满足客户的国际化需求.设计师创意的思维模式,提供最合适的设计方案.</p>
<p class="zi2">我们的承诺:</p>
<p class="zibai">本工作室设计与制作的网站均属于原创.不套用网上任何模块,根据每个公司特点,设计出属于客户.....</p>
<p class="zibai"> </p>
<p class="zibai chu"><a href="#">更多>></a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
结果:
案例2----用户注册信息
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>用户注册信息</title>
<style type="text/css">
fieldset{
width: 700px;
}
</style>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form" id="form">
<fieldset> <legend>用户信息</legend>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="200" align="right">用户名:</td>
<td><input type="text" name="textfield" id="textfield" /></td>
</tr>
<tr>
<td width="200" align="right">性别:</td>
<td>
<input type="radio" name="radio" id="radio1" value="radio" checked="checked" />
男<img src="img/mm.gif" width="22" height="21" align="absmiddle"/>
<input type="radio" name="radio" id="radio2" value="radio" />
女<img src="img/gg.gif" width="23" height="21" align="absmiddle"/>
</td>
</tr>
<tr>
<td width="200" align="right">密码:</td>
<td><input type="password" name="textfield2" id="textfield2" /></td>
</tr>
<tr>
<td width="200" align="right">出生年月:</td>
<td><input name="textfield4" type="text" id="textfield4" size="12" />年
<select name="select" id="select">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
月</td>
</tr>
<tr>
<td width="200" align="right">业余爱好:</td>
<td>
<input type="checkbox" name="checkbox" id="checkbox" />
<label for="checkbox">看书</label>
<input type="checkbox" name="checkbox2" id="checkbox2" />
<label for="checkbox2">上网</label>
<input type="checkbox" name="checkbox3" id="checkbox3" />
<label for="checkbox3">打球</label>
</td>
</tr>
<tr>
<td width="200" align="right">相片:</td>
<td><input type="file" name="filefield" id="filefield" /></td>
</tr>
<tr>
<td width="200" align="right">意见或建议:</td>
<td><textarea name="textarea" id="textarea" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="button" id="button" value="提交" />
<input type="reset" name="button2" id="button2" value="重置" />
</td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
结果: