第3章 表格布局与表单交互

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 标记常用的属性如下所示:

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 等。

表单标记属性、取值及说明
属性取值说明
namename规定表单的名称
actionurl规定当提表单时,向何处发送表单数据
methodget I post规定如何发送表单数据。post 方法主要包含名称/值对,并且无须包含于action 属性的URL 中。get 方法把名称/值对加在 action的URL后面并且把新的 URL送至服务器,不推荐使用
enctypeMIME_ 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 属性有很多不同的值,设置属性值不同,就会产生不同界面效果。

表单信息输入标记属性、取值及说明
属性取值说明
namename定义input元素的名称
typetext 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/>

文本输入框标记属性、取值及说明
属性取值说明
namename定义 input 元素的名称
maxlengthnumber规定输人字段中的字符的最大长度
sizenumber_ of_ char定义输人字段的宽度。其值小于或等于最大长度
valuevalue规定input元素的默认值
readonlyreadonly规定文本框中内容只读,不能修改和编辑

(2):密码输入框:设置input标记的type属性值为 password,可以实现向表单中插人一个密码输入框。密码输人框中可以输人任意类型的数据,与单行文本输人框有所不同,这些数据不是实时地显示在页面上,而是被显示字符“·”所取代,这样设计可以保障用户输人的密码不被泄露。

语法:<input name=""  type = " password"  maxlength = " " size=""/>

(3):复选框:设置 input 标记的 type 属性值为 checkbox,可以实现向表单中插人一个复选,用户利用复选框在网页上设置多项选择。

语法:<input name=" " type=" checkbox"  value=""  checked/>

复选框属性、取值及说明
属性取值说明
namename定义input标记的名称
valuevalue规定 input标记的值
checkedchecked预先选定复选框

(4):单选按钮:设置input 标记的 type 属性值为 radio,可以实现向表单中插人一个单选按钮,用户可利用单选按钮在网页上为某一选择设置多个单选项。

语法:<input name=""  type="radio"  value=""  checked/>

(5):图像按钮:设置 input 标记的 ype属性值为image,可以实现表单中插人一个图像按纽,用户可利用图像按钮在网页中插人一张图像,通过src 属性加载图像。

语法:<input name=" " type= "image" src = " " width=" " height=" "/>

图像按钮属性、取值及说明
属性取值说明
namename定义input标记的名称
srcURL定义以提交按钮形式显示的图像的URL
widthwidth规定图像的宽度,单位为像素
heightheight规定图像的高度,单位为像素

(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=""/>

普通按钮属性、取值及说明
属性取值说明
namename定义input标记的名称
valuevalue规定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>

多行文本输入框属性、取值及说明
属性取值说明
namename定义 textarea标记的名称
rowsnumber规定文本区内的可见行数
colsnumber规定文本区内的可见宽度
wrapwrap |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>

运行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值