3.1 表格概述
1.表格的结构:表格是由行和列组成的二维表,而每行又由一个或多个单元格组成,用于放置数据或其他内容。表格中的单元格是行与列的交叉部分,是组成表格的最基本单元。单元格的内容是数据,也称数据单元格。数据单元格可以包含文本、图片、列表、段落、表单、水平线或表格等元素。
2.表格的基本语法:
<table border="5px" width="20%" height="20%" background="img/1.jpg">
<!-- <table width="40px" height="30px"> -->
<caption>23软件3班学生名单</caption>
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
</tr>
<tr>
<td>1</td>
<td>张三</td>
<td>男</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>女</td>
</tr>
</table>
注:(1)table 标记是成对标记,< table>表示表格开始,< /table>表示表格结束。
(2) caption 标记是成对标记,<caption>表示标题开始,</caption>表示标题结束。使用caption 标记可以给表格添加标题,该标题应位于 table标记与tr标记之间的位置。
(3)r (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 表格属性设置
1.表格边框属性:语法为:<table border=" 边框粗细" bordercolor="边框颜色 " bordercolorlight = "亮边框" bordercolordark ="暗边框" >...</table>
(1)border 属性。用于设置边框的粗细,单位是像素。
(2) bordercolor属性。用于设置表格边框的颜色,可以使用rgb 函数、十六进制数和颜色英文名称。
(3)bordercolorlight 属性。用于设置表格亮边框,对表格左上边框生效。
(4)bordercolordark 属性。用于设置表格暗边框,对表格右下边框生效。
2.表格的宽度和高度属性
语法为:<table width=" " height=" ">...</table>
(1)width。其单位可以是长度单位或百分比,用于定义表格的宽度。
(2)height。其单位可以是长度单位或百分比,用于定义表格的高度。
注:设置表格标记中的高度与宽度为百分比时,表格会跟随浏览器窗口的改变而自动调整。
3.表格背景颜色和背景图像属性
语法为:<table bgcolor=" " background=" ">...</table>
(1) bgcolor。可以用rgb 函数、十六进制、英文颜色名称来设置背景颜色。
(2)background。设置背景图像,图像的路径可以是绝对路径或相对路径。
(3)同时设置背景颜色和背景图像属性时,背景图像会部分或完全覆盖背景颜色。
4.表格边框样式属性
设置表格标记中的fame 属性可以改变表格边框的样式,设置表格标记中的 rules 属性可以改变表格内部边框的样式。
语法为:<table frame=" " rules=" ">......内容......</table>
frame和rules 常见属性值及说明如下表:
总结示例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>表格布局与表单交互</title>
</head>
<body>
<table border="5px" bordercolorlight="#ff0000" bordercolordark="#0000ff" width="200px" height="100px">
<!-- bordercolorlight为亮边框颜色,bordercolordark为暗边框颜色 -->
<caption>23软件3班学生名单</caption>
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
</tr>
<tr>
<td>1</td>
<td>张三</td>
<td>男</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>女</td>
</tr>
</table>
<table border="5px" width="20%" height="20%" background="img/1.jpg">
<!-- <table width="40px" height="30px"> -->
<caption>23软件3班学生名单</caption>
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
</tr>
<tr>
<td>1</td>
<td>张三</td>
<td>男</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>女</td>
</tr>
</table>
<table border="5px" width="200px" height="100px" bgcolor="#00aaff"
frame="hsides" rules="all">
<caption>23软件3班学生名单</caption>
<tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
</tr>
<tr>
<td>1</td>
<td>张三</td>
<td>男</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>女</td>
</tr>
</table>
</body>
</html>
运行结果如下:
5.表格单元格间距,单元格边距属性
设置表格标记中的 cellspacing属性可以改变表格单元格之间的间隔,使网页中的表格内容稍微松散一些。设置表格标记中的 cellpadding 属性可以增加表格单元格的内容与内部边框之间的距离。
语法为:<table cellspacing=" " cellpadding=" ">
</table>
注:(1)cellspacing。值的单位为像素或百分比,默认值为 2px。
(2)cellpadding。值的单位为像素或百分比。
6.表格水平对齐属性
通过设置表格标记的 align 属性,可以设定表格在水平方向上的对齐方式。对齐方式有居左、居中、居右3种。
语法为:<table align="left |center |right">
</table>
7.设置表格的 (tr) 标记行的属性
通过tr标记的 align 属性可以设置行内容的水平对齐方式。水平对齐方式有居左对齐(left),居中对齐(center)和居右对齐(right)。通过标记的 valign属性可以设置行内容的垂直对齐方式。垂直对齐方式有顶部对齐(top)、居中对齐(middle)和底部对齐(bottom)。
语法为:<table align="center">
<tr align="left |center |right" valign="top |middle |bottom">
<td>.....</td>
</tr>
</table>
8.设置单元格的属性
表格的列 (td)标记的属性可以设置表格单元格的显示风格。td 标记常用的属性如下所示:
属性值 | 说明 | 属性值 | 说明 |
align | 单元格内容水平对齐 | bordercolorlight | 单元格的亮边框颜色 |
valign | 单元格内容垂直对齐 | bordercolordark | 单元格的暗边框颜色 |
bgcolor | 单元格的背景颜色 | rowspan | 单元格跨行 |
background | 单元格背景图像 | colspan | 单元格跨列 |
bordercolor | 单元格的边框颜色 | width | 单元格宽度 |
height | 单元格高度 |
9.表格单元格跨行、跨列属性
(1)单元格跨行:使用单元格 td 标记的 rowspan属性可以设置单元格跨行合并。语法为:<td rowspan="行数">......</td>
说明:rowspan属性可以设置单元格跨行。通过 rowspan=”n”(n 是正整数),可以一个置某一单元格跨n行,当前行下的 n-1 行内的单元格数量都需要减少一个,即少定义一个td标记。
(2)单元格跨列:使用单元格 td标记的 colspan 属性可以设置单元格跨列合并。 语法为:<td colspan="列数">......</td>
说明:colspan属性可以设置单元格跨列。通过 colspan="n”(n是正整数),可以设置某一单元格跨n列,当前行内的单元格数量需要减少n-1个,即删除 n-1个td 标记。
3.3 表格嵌套
语法为:<table>
<tr>
......
</tr>
<tr>
<td>
<table>
<tr>
........
</tr>
</table>
</td>
</tr>
<tr>
.........
</tr>
</table>
示例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>嵌套表格布局页面</title>
<style>
body{font-size:36px;}
</style>
</head>
<body>
<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>
<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>
</body>
</html>
运行结果如下:
3.4 表单
1.表单标记:表单form标记为成对标记,以<form>开始和</form>结束。表单定义了采集数据的范围,其所包含的数据内容将被完整地提交给服务器。
语法如下:
<form method="post" action = "">
<input type= "text” name = " "/>
<textarea name= " " rows ="" cols = "">......</textarea>
<select name="">
<option value=" " selected></option>
<option value=""></option>
</select>
</form>
说明:<fom>和</fom>之间可包含各种表单信息输人标记。表单标记的属性主要有name,action,method和enctype 等。
属性 | 取值 | 说明 |
name | name | 规定表单的名称 |
action | url | 规定当提表单时,向何处发送表单数据 |
method | get I post | 规定如何发送表单数据。post 方法主要包含名称/值对,并且无须包含于action 属性的URL 中。get 方法把名称/值对加在 action的URL后面并且把新的 URL送至服务器,不推荐使用 |
enctype | MIME_ type | 规定表单数据在发送到服务器之前应该如何编码 |
2.定义域和域标题:利用 fieldset 标记可以在网页上定义域,在表单中使用域可以将表单的相关元素进行分组,fieldset 标记将表单内容的一部分打包,生成一组相关表单的字段。当一组表单元素放到 fieldset 标记内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边界、3D 效果,或者可创建一个子表单来处理这些元素。legend 标记为 fieldset 标记定义域标题。
语法为:<form>
<fieldset>
<legend align="left l center | right">域标题内容</legend>
</fieldset>
</form>
说明: fieldset 标记没有属性,是成对标记。legend 标记必须位于 fieldset 标记内,也是成对标记:有一个对齐align 属性,属性值分别为 left,center 和 right。
3.表单信息输入:语法为:<input name="" type=""/>
说明:input 标记的属性主要有 name 和 type 等,输人类型是由类型 type 属性定义的,type 属性有很多不同的值,设置属性值不同,就会产生不同界面效果。
属性 | 取值 | 说明 |
name | name | 定义input元素的名称 |
type | text l password | checkbox | radiolimage l submit l resetI button | file l hidden | 规定input元素的类型。text为单行文本输入框,password 为密码输人框,checkbox为复选框,radio 为单选按钮,image 为图像按钮,submit为提交按钮,reset 为重置按钮,button 为普通按钮,fle为文件选择框,hidden 为隐藏框 |
(1):单行文本输入框:设置input 标记的 type属性值为 text,可以实现向表单中插入一个单行文本框。在单行文本框中可以输入任意类型的数据,但是输入的数据只能单行显示,不能换行。
语法为:<input name=" " type= "text” maxlength = "" size= " " value="" readonly/>
属性 | 取值 | 说明 |
name | name | 定义 input 元素的名称 |
maxlength | number | 规定输人字段中的字符的最大长度 |
size | number_ of_ char | 定义输人字段的宽度。其值小于或等于最大长度 |
value | value | 规定input元素的默认值 |
readonly | readonly | 规定文本框中内容只读,不能修改和编辑 |
(2):密码输入框:设置input标记的type属性值为 password,可以实现向表单中插人一个密码输入框。密码输人框中可以输人任意类型的数据,与单行文本输人框有所不同,这些数据不是实时地显示在页面上,而是被显示字符“·”所取代,这样设计可以保障用户输人的密码不被泄露。
语法:<input name="" type = " password" maxlength = " " size=""/>
(3):复选框:设置 input 标记的 type 属性值为 checkbox,可以实现向表单中插人一个复选,用户利用复选框在网页上设置多项选择。
语法:<input name=" " type=" checkbox" value="" checked/>
属性 | 取值 | 说明 |
name | name | 定义input标记的名称 |
value | value | 规定 input标记的值 |
checked | checked | 预先选定复选框 |
(4):单选按钮:设置input 标记的 type 属性值为 radio,可以实现向表单中插人一个单选按钮,用户可利用单选按钮在网页上为某一选择设置多个单选项。
语法:<input name="" type="radio" value="" checked/>
(5):图像按钮:设置 input 标记的 ype属性值为image,可以实现表单中插人一个图像按纽,用户可利用图像按钮在网页中插人一张图像,通过src 属性加载图像。
语法:<input name=" " type= "image" src = " " width=" " height=" "/>
属性 | 取值 | 说明 |
name | name | 定义input标记的名称 |
src | URL | 定义以提交按钮形式显示的图像的URL |
width | width | 规定图像的宽度,单位为像素 |
height | height | 规定图像的高度,单位为像素 |
(6)提交按钮:设置 input 标记的 type 属性值为 submit,可以实现向表单中插人一个提交按钮,提交按钮用于将表单的信息提交至服务器进行处理。
语法:<input name="" type="submit" value="提交"/>
(7)重置按钮:设置input标记的 type属性值为reset,可以实现向表单中插人一个重置按钮,重置按钮用于将表单中所有的输入信息清空,然后让用户可以重新填写。
语法:<input name="" type= "reset" value=""/>
(8)普通按钮:设置input标记的 type属性值为 button,可以实现向表单中插人一个普通按钮。
语法:<input name=" " type=" button" value=" " οnclick=""/>
属性 | 取值 | 说明 |
name | name | 定义input标记的名称 |
value | value | 规定input标记的值 |
onclick | 事件代码 | 绑定事件代码、自定义函数或直接使用脚本代码 |
(9)文件选择框:设置 nput 标记的 ype属性值为le,可以实现向表单中插人一个文件选择框.
语法:<input name="" type="file" value=""/>
(10)隐藏框:设置input 标记的 type属性值为 hidden,可以实现向表单中插人一个隐藏框,用户提交表单时,隐藏框的信息也会一起提交到服务器,但隐藏框在网页中是不可见的.
语法:<input name="" type="hidden" value= ""/>
4.多行文本输入框:textarea 标记可以向表单中插入多行文本输入框。多行文本输入框可以用来输人较多的文字信息,而且可以换行,并将这些信息提交到服务器。
语法:<textarea name="" rows="" cols=" "wrap=""/>初始信息内容</textarea>
属性 | 取值 | 说明 |
name | name | 定义 textarea标记的名称 |
rows | number | 规定文本区内的可见行数 |
cols | number | 规定文本区内的可见宽度 |
wrap | wrap |virtual |physical |off |soft |hard | wrap 属性规定当在表单中提交时,文本区域中的文本如何换行;wrap-文本区会包含一行文本,用户必须将光标移动到右边才能看到全部文本,这时将把一行文本传送给服务器;virtual-将实现文本区内的自动换行,但在传输给服务器时,文本只在用户按下 Enter 键的地方进行换行,其他地方没有换行的效果;physical---将实现文本区内的自动换行,并以这种形式传送给服务器;off不会自动换行,输入内容超出文本域右界时,文本将向左滚动,必须按 Enter 键才能将插入点移到下行.HTML5中,soft 表示提交时不换行,hard 表示提交时换行 |
5.下拉列表框:下拉列表可以在表单中接收用户的输人。下拉列表通常需要同时使用 select 和option标记来在表单中插人下拉菜单和列表项。
语法:<select name=" " size=" " multiple>
<option value="" selected>文字信息 1</ option>
<option value="" >文字信息 2</option>
...........
</select>
说明:select 标记是成对标记,option 标记是单个标记,但应该把它补成成对标记,结构更为清晰。select 标记有 name,size 和 multiple 等属性。option 标记有 alue 和 selected 等属性。select 标记与 option 标记必须配合使用。每一选项必须指定一个显示的文本和一个 value值,显示文本通常附在 option 标记后面。
表单小总结代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表单</title>
</head>
<body>
<!-- 单行文本输入框 -->
<form>
用户名:<input type="text" name="user"/>
</form>
<!-- 密码输入框 -->
<form>
用户名:<input type="text" name="user"/>
密码:<input type="password" name="password"/>
</form>
<!-- 复选框 -->
<form>
姓名:<input type="text" name="name"/>
爱好:
<input type="checkbox" name="n1" value="sing" checked/>唱歌 <!--checked为默认选项-->
<input type="checkbox" name="n2" value="dance"/>跳舞
<input type="checkbox" name="n3" value="backetball"/>打篮球
<input type="checkbox" name="n4" value="run"/>长跑
</form>
<!-- 单选按钮 -->
<form>
姓名:<input type="text" name="name"/>
性别:<input type="radio" name="sex" value="male" checked/>男性
<input type="radio" name="sex" value="female"/>女性
<br/>
爱好:
<input type="checkbox" name="n1" value="sing" checked/>唱歌 <!--checked为默认选项-->
<input type="checkbox" name="n2" value="dance"/>跳舞
<input type="checkbox" name="n3" value="backetball"/>打篮球
<input type="checkbox" name="n4" value="run"/>长跑
</form>
<!-- 图像按钮 -->
<form>
<input type="image" name="start" src="img/4..jpg"/>
</form>
<!-- 提交按钮 -->
<form>
用户名:<input type="text" name="user"/>
密码:<input type="password" name="password"/>
<br />
<input type="submit" value="登录"/>
</form>
<!-- 重置按钮 -->
<form>
用户名:<input type="text" name="user"/>
密码:<input type="password" name="password"/>
<br />
<input type="submit" value="登录"/>
<input type="reset"/>
</form>
<!-- 普通按钮 -->
<form>
用户名:<input type="text" name="user"/>
密码:<input type="password" name="password"/>
<br />
<input type="submit" value="登录"/>
<input type="reset"/>
<input type="button" value="注册" onclick="javascript:alert('注册新用户');"/>
</form>
<!-- 文件选择框 -->
<form>
姓名:<input type="text" name="name"/>
性别:<input type="radio" name="sex" value="male" checked/>男性
<input type="radio" name="sex" value="female"/>女性
<br/>
爱好:
<input type="checkbox" name="n1" value="sing" checked/>唱歌 <!--checked为默认选项-->
<input type="checkbox" name="n2" value="dance"/>跳舞
<input type="checkbox" name="n3" value="backetball"/>打篮球
<input type="checkbox" name="n4" value="run"/>长跑
<br/>
佐证材料:
<input type="file" name="file"/>
</form>
<!-- 隐藏框 -->
<form>
<input type="hidden" name="abc" value="123"/>
</form>
<!-- 多行输入文本框 -->
<form>
姓名:<input type="text" name="name"/>
性别:<input type="radio" name="sex" value="male" checked/>男性
<input type="radio" name="sex" value="female"/>女性
<br/>
爱好:
<input type="checkbox" name="n1" value="sing" checked/>唱歌 <!--checked为默认选项-->
<input type="checkbox" name="n2" value="dance"/>跳舞
<input type="checkbox" name="n3" value="backetball"/>打篮球
<input type="checkbox" name="n4" value="run"/>长跑
<br/>
佐证材料:
<input type="file" name="file"/>
<br/>
请输入你的宝贵意见:
<textarea name="info" rows="4" cols="50"></textarea>
</form>
<!-- 下拉列表框 -->
<form>
请选择你的课程:
<select name="course" multiple> <!--multiple为按住CTRL可以多选-->
<option value="">网页</option>
<option value="">java</option>
<option value="">ps</option>
<option value="">安卓</option>
<option value="">网络</option>
</select>
</form>
</body>
</html>
运行结果如下: