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

3.1 表格概述

表格是一种以行和列的形式组织数据的工具,通常由单元格组成。它可以用于展示各种类型的信息,如数字、文本、日期等。在网页中,表格是一种重要的元素

3.1.1 表格的结构

  1. 行:水平方向的一组单元格。
  2. 列:垂直方向的一组单元格。
  3. 单元格:表格中最小的单位,用于存储具体的数据内容

3.1.2 表格的基本语法

在HTML中,常用表格主要通过5个标记来构成:<table>,<caption>,<th>,<tr>,<td>

(1) table标记是成对标记,<table>表示表格开始,</table>表示表格结束。
(2) caption标记是成对标记,<caption>表示标题开始,</caption>表示标题结束。 caption 标记可以给表格添加标题,该标题应位于table标记与tr标记之间的位置

(3) tr (Table Row)标记是成对标记,<tr>表示行开始,</tr>表示行结束。
(4) th(Table Heading表头)标记是成对标记,<th>表示表头开始,</th>表示表头结束(5)td(Table Data)标记是成对标记,定义单元格或列以<td>开始,以<td>结束。表头用th标记定义也可以用td标记定义,但<td></td>两标记中不自动居中和加粗

3.2 表格属性的设置

表格是网页文件中布局的重要元素,制作网页的过程中常常需要对网页中的表格做一些设置,对表格的设置实质是对表格标记属性的设置。


3.2.1 表格边框属性

设置表格标记中的边框属性可以改变表格的外观。

语法:

<table border=" " bordercolor=" " bordercolorlight =" " bordercolordark="">...</table>

(1)border属性。用于设置边框的粗细,单位是像素。
(2)bordercolor 属性。用于设置表格边框的颜色,可以使用 rgb 函数、十六进制数和色英文名称。
(3) bordercolorlight属性。用于设置表格亮边框,对表格左上边框生效。(4)bordercolordark属性。用于设置表格暗边框,对表格右下边框生效。


3.2.2 表格的宽度和高度属性

通过设置width属性和height,属性可以设置表格的宽度与高度。

语法:

<table width=" " height=" ">,,,,</table>

width,其单位可以是长度单位或百分比,用于定义表格的宽度。

height,其单位可以是长度单位或百分比,用于定义表格的高度。


3.2.3 表格背景颜色与表格图像属性

在网页中,表格的背景颜色和图像属性可以为页面增添视觉效果和吸引力

  1. 作用:
    • 突出重点:通过设置特定的背景颜色,可以使某些重要的表格区域或数据更加醒目,吸引用户的注意力。
    • 区分不同部分:为不同的表格行或列设置不同的背景颜色,可以清晰地区分不同的数据类别或状态。
    • 增强视觉效果:合适的背景颜色可以提升页面的整体美观度,使表格更加易于阅读和浏览。
  2. 设置方法:
    • 使用 CSS 样式表:可以通过在 CSS 中为表格元素(如 <table><tr><td>)设置 background-color 属性来指定背景颜色


3.2.4 表格边框样式属性

设置表格标记中的fame属性可以改变表格边框的样式,设置表格标记中的rules属性可以改变表格内边框的样式。

语法:

<table frame="" rules="">.....内容,,,,</table>


3.2.5 表格单元格间距、单元格边距属性

设置表格标记中的cellspacing属性可以改变表格单元格之间的间隔,使网页中的表格内容稍微松散一些。设置表格标记中的cellpadding属性可以增加表格单元格的内容与内部边框之间的距离。
语法:

<table cellspacing="" cellpadding=""</table>


(1) cellspacing。值的单位为像素或百分比,默认值为2px。    的    
(2) cellpadding。值的单位为像素或百分比。


3.2.6 表格水平对齐属性

通过设置表格标记的align属性,可以设定表格在水平方向上的对齐方式,对齐方式有居左,居右,居中

语法:

<table align="left | center | right">....</table>

说明:align属性的取值可以为left,center,right


3.2.7 设置表格的(tr)标记行的属性

表格行tr标记的属性用于设置表格某一行的样式

通过tr标记的 align属性可以设置行内容的水平对齐方式。水平对齐方式有居左对齐、居中财齐和居右对齐。通过ur标记的 valign 属性可以设置行内容的垂直对齐方式。垂直对齐方式有顶部对齐,居中对齐和底部对齐。
语法:

<table align =" center" >
<tr align = "left I center | right" valign ="top | middle I bottom" >

                        <td>....</td>

</tr>

<table>

3.2.8 设置单元格的属性

表格的列(td)标记的属性可以设置表格单元格的显示风格。td标记常用的属性下图


3.2.9 表格单元格跨行、跨列属性

3.2.9.1 单元格跨行

使用单元格td标记的rowspan属性可以设置单元格跨行合并。

<td rowspan="行数">….</td>

说明:rowspan 属性可以设置单元格跨行。通过rowspan="n”(n是正整数),可以设置某一单元格跨行,当前行下的n一1行内的单元格数量都需要减少一个,即少定义一个td标记。


3.2.9.2 单元格跨列

使用单元格td标记的colspan属性可以设置单元格跨列合并。
语法:

<td colspan="列数">·...</td>

说明:colspan 属性可以设置单元格跨列。通colspan="n"(n是正整数),可以设置某一单元格跨n列,当前行内的单元格数量需要减少n-1个,即删除n-1个td标记。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>设置单元格跨列、跨行属性</title>
		</head>
		<body>
			<h3 align="center">设置单元格跨列、跨行属性</h3>
			<table border="1" width="50Opx" align="center" bordercolor="#3366ff">
			<caption>专业研讨会日程安排</caption>
			<tr align="center">
				<td colspan="2">上午</td>
				<td colspan="2">下午</td>
			</tr>
			<tr>
				<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>


3.3 表格嵌套

表格嵌套是一种常用的页面布局方式。利用表格嵌套可以设计比较复杂且美观的页面效果。通常情况下,使用表格嵌套时,表格不宜过多使用,否则会降低网站访问速度。表格嵌套一般采用在单元格内嵌套表格。

语法:

<!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 表单

HTML中的表单是网页中最常用的元素,是网站服务器端与客户端之间沟通的桥梁。一个完整的交互表单由两部分组成:一是客户端包含的表单页面,用于填写浏览者进行交互的信息;另一个是服务端的应用程序,用于处理浏览者提交的信息,浏览者在表单中输入信息,然后将这些信息提交给服务器;服务器中的应用程序会对这些信息进行处理响应,这样就完成了浏览者和服务器之间的交互。


3.4.1 表单标记

表单form 标记为成对标记,以<form>开始和</fom>结束。表单定义了采集数据的范围,其所包含的数据内容将被完整地提交给服务器。

语法:

<form method="post" action ="">
<input type="text" name=""/>
<textarea name ="" rows="" cols=">......<textarea>
<select name="">
<option value="" selected></option>
<option value=""></option>
</ select></form>


3.4.2 定义域和域标题

利用fieldset标记可以在网页上定义域,在表单中使用域可以将表单的相关元素进行分组,fieldset标记将表单内容的一部分打包,生成一组相关表单的字段。当一组表单元素放到fieldset标记内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边界、3D效果,或者可创建一个子表单来处理这些元素。legend标记为fieldset标记定义域标题。

语法:

<form>
<fieldset>
<legend alig="left I center | right">域标题内容</legend>
</fieldset>
</form>

说明:fieldset 标记没有属性,是成对标记。legend标记必须位于fieldset 标记内,也是
成对标记:有一个对齐align属性,属性值分别为left,center和right。

3.4.3 表单信息输入

表单的主要功能是为用户提供输入信息的接口,将输入信息发送到服务器并等待服务到
响应。表单中输入信息的标记是input标记,可以输入一行信息。input标记是单个标记。
语法:

<input name="" type=""/>


3.4.3.1 单行文本输入框

设置input标记的type 属性值为text,可以实现向表单中插入一个单行文本框。在单行文本框中可以输入任意类型的数据,但是输入的数据只能单行显示,不能换行。
语法:

<input name="" type="text" maxlength="" size="" value="" readonly/>

说明:单行文本输入框的主要属性有 name,maxlength,size,value和readonly


3.4.3.2 密码输入框

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

<input name="" type="password" maxlength="" size=""/>

说明:密码输入框的主要属性有 name,maxlenth和size,取值及说明与单行文本输入框相同

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title> 单行文本输入框</title>
	</head>
	<body>
		<form name="form1" method="post" action="form_action.jsp" enctype="text/plain">
				用户名:<input type="text" name="use"/>
				用户类型:<input type="text" name="usertype" value="普通用户" readonly/>
				密码:<input type="password" name="password"/>
		</form>
	</body>
</html>


3.4.3.3 复选框

设置imput 标记的type 属性值为checkbox,可以实现向表单中插入一个复选框,用用复选框在网页上设置多项选择。
语法:

<imput name="" type=" checkbox" value=" "checked/>

说明:复选框的主要属性有 name,value 和checked,其中 checked属性用于设置初饰选项


3.4.3.4 单选按钮

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

<input name="" type="radio" value="" checked/>

说明:单选按钮的属性有name,vale和checked等,其属性、取值及说明与复选框相同。由于单选按钮必须是唯一的,在一组单选按钮中,只能选择一个单选按钮,所以一组单选按钮的所有name属性值必须相同,value属性取值应该不同。

3.4.3.5 图像按钮

设置 input 标记的type属性值为image,可以实现向表单中插入一个图像按钮,用利用图像按钮在网页中插入一张图像,通过src属性加载图像。
语法:

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

说明:图像按钮主要属性有name,src,width和height

3.4.3.6 提交按钮

设置input 标记的type属性值为submit,可以实现向表单中插入一个提交按钮,提交按钮用于将表单的信息提交至服务器进行处理。
语法:

<input name="" type="submit"value="提交"/>

3.4.3.7 重置按钮

设置 input 标记的type属性值为reset,可以实现向表单中插入一个重置按钮,重置接用于将表单中所有的输入信息清空,然后让用户可以重新填写。
语法:

<input name=" "type="reset" value =""/>

说明:重置按钮的属性主要有name和value,其属性、取值及说明与提交按钮的相同


3.4.3.8 普通按钮

设置input标记的type属性值为button,可以实现向表单中插入一个普通按钮。普通钮在网页设计中非常有用,如果不通过表单提交按钮来处理事件,则可以给普通按钮绑定件代码来实现所需的功能。
语法:

<input name="" type="button" value="" onclick=""/>


3.4.3.9 文件选择框

设置input标记的type属性值为file,可以实现向表单中插入一个文件选择框。
语法:

<input name=""type="file" value=""/>

说明:
name,定义input 标记的名称。页面上会自动添加一个文本输入框和一个“浏览……”按钮。单击“浏览…”按钮可以从“选择要加载的文件”对话框选择某一个文件,然后自动将文件名称回填到文本输入框中。


3.4.3.10 隐藏框

设置input 标记的type 属性值为hidden,可以实现向表单中插入一个隐藏框,用户提交表单时,隐藏框的信息也会一起提交到服务器,但隐藏框在网页中是不可见的。
语法:

<input name="" type="hidden" value=""/>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>表单的使用示例</title>
			
		</head>
		<body>
			<form name="form1"method="post"action="form_action.jsp"enctype="text/plain">
				<h3>输入课程成绩</h3>
				姓名:<input type="text"/><br/>
				网页设计:<input type="text"/>
				数据结构:<input type="text"/><br/><br/>
				<input type="submit"value="成绩提交"/>
				<input type="reset"value="成绩重置"/><br/><br/>
				用户类型:<input type="text"name="usertype"value="学生"readonly/>
				<!--密码-->
				密码:<input type="password"name="password"/><br/>
				<!--复选框与单选框按钮-->
				性别:<input type="radio"name="sex"value="female"/>女
				<input type="radio"name="sex"value="male"/>男<br/>
				
				爱好:<input type="checkbox"name="n1"value="dance"checked/>跳舞
				<input type="checkbox"name="n2"value="sing"/>唱歌
				<input type="checkbox"name="n3"value="basketball"/>打篮球<br/>
				
				<!--图像按钮-->
				<input type="image"name="start"src="img/ dsawad.jpg"/><br/><br/>
				<!--提交按钮-->
				<input type="submit"name="submit"value="登录"/>
				<!--重置按钮-->
				<input type="reset"name="reset"/>
				<!--普通按钮-->
				<input type="button"name="button"value="注册"onclick="javascript:alert('注册新用户')"/><br/>
				<!--文件选择框-->
				<input type="file"name="file"/><br/>
				<!--隐藏框-->
				<input type="hidden"name="hidden"value="123"/>
				请输入您的宝贵意见
				<textarea name="info"row="4"cols="50"wrap=""></textarea><br/>
				请选择职业规划
				<select name="abc">
					<option value="s1">前端</option>
					<option value="s2">后端</option>
					<option value="s3">开发</option>
				</select><br/>
				
			</form>
		</body>
</html>

3.4.4 多行文本输入框

textarea标记可以向表单中插入多行文本输入框。多行文本输入框可以用来输入较多的文字信息,而且可以换行,并将这些信息提交到服务器。

语法:

<textarea name=""rows=”"cols=""wrap=""/>初始信息内容</textarea>

说明:多行文本输入框 textarea标记是成对标记,其主要属性有name,rows,cols和wrap等


3.4.5 下拉列表框

下拉列表可以在表单中接收用户的输入。下拉列表通常需要同时使用seleet和option标记来在表单中插入下拉菜单和列表项。
语法:

<select name="" size="" multiple>
<option value=""selected>文字信息1</ option>
<option value="">文字信息2</option>
</select>

说明:select 标记是成对标记,option标记是单个标记,但应该把它补成成对标记,结构更为清晰。select 标记有name,size和multiple 等属性。option 标记有value和lselected 等属性。select 标记与option标记必须配合使用。每一选项必须指定一个显示的文本和一个value值,显示文本通常附在option 标记后面。

 ​​​​​​​


3.5 综合案例——

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>达维工作室---联系我们</title>
		<style type="text/css">
			.chu{
				font-weight: bold;
			}
			.zi1{
				font-weight: 微软雅黑;
				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/kd.jpg);
			}
		</style>
	</head>
	<body>
		<table width="1190" border="0" cellpadding="0" cellspacing="0">
		<tr>
		 <td>
		  <table width="1190" border="0" align="center" cellpadding="O" cellspacing="5">
		<tr>
		  <td width="100" align="center" valign=" middle" bgcolor="#FFFFFF">
			  <img src="../img/logo.jpg" alt="" width ="100" height="63" /></td>
			  <td width="100" align="center" valign =" middle" bgcolor ="#FFFFFF" class="zi1">网站首页</td>
		      <td width="100" align ="center"valign =" middle" bgcolor ="#FFFFFF" class="zi1">关于我们</td>
		      <td width="100" align="center" valign =" middle" bgcolor="#FFFFFF"  class="zi1">团队合作</td>
			  <td width="100" align="center" valign =" middle" bgcolor="#FFFFFF" class="zi1">相关作品</td>
			  <td width="100" align=" center" valign =" middle" bgcolor =" #FFFFFF" class="zi1">设计理念</td>
			  <td width="100" align="center" valign =" middle" bgcolor="#FFFFFF" class="zi1">人物介绍</td>
			  <td width="100" align ="center" valign =" middle" bgcolor ="#FFFFFF" class="zi1">联系我们</td>
			  </tr>
		 </table>
		 </td>
		 </tr>
		 <tr>
			 <td>
		<table width=" 100%"border="0" cellspacing="20" cellpadding="0">
		<tr>
		<td height="318">&nbsp;</td>
		<td widih="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="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="zil">关于我们</td>
		</tr>
	<tr>
		<td height="278" valign="top" bgcolor="#FC880D">
			<p class="zibai">达维工作室是专业事互联网相关开发的公司。<br />
		专门提供全方们的优质服务和最专业的网站建设方案为企业打造全新电子商务平台。<br/>
		达维工作室成立于2014年,已经成为国内著名的网站建设提供商。多年的风雨历程……</p>
		<p class="zibai">&nbsp;</p >
		<p class="zibai chu"><a href="#">更多&gt;&gt;</a></p >
		</td>
		</tr>
		</table>
		</td>
		<td width="280">
		  <table width =" 100%" border="0" cellspacing ="0" cellpadding ="20">
		<tr>
		  <td height="30" align="center" bgcolor="#FFFFFF" class="zil">团队合作</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">&nbsp;</p >
		<p class ="zibai chu"><a href="#">更多 &gt;&gt;</a></p >
		</td>
		</tr>
		</table>
		</td>
		</tr>
		</table>
		</td>
		</tr>
		</table>
	</body>
</html>

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>用户注册信息</title>
		<style type="text/css">
		fieldset{
			width: 700px;
		}
		</style>
	</head>
	<body>
		<form action ="" method=" post" enctype =" multipart/form -data" name =" form1" id ="form1">
		  <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=" password" name ="textfield2" id="textfield2" /></td>
		</tr>
		<tr>
		   <td width="200" align="right">确认密码:</td>
		<td><input type=" password" name="textfield3" id="textfield3" /></td>
		</tr>
		<tr>
		  <td width="200"align="right">性别:</td>
		  <td><input name ="radio" type ="radio" id="radio" value="radio" checked="checked" />
		  男<img src="../img/Male.gif" width="22" height="21" align="absmiddle" />
		  <input type="radio" name ="radio" id="radio2" value ="radio2" />
		  女<img src="../img/Female.gif" width="23" height="21" align="absmiddle" /></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"/>看书
		   <input type="checkbox" name="checkbox2" id="checkbox2"/>上网
		   <input type="checkbox" name="checkbox3" id="checkbox3"/>打球
		   </td>
		</tr>
		<tr>
		<td width="200" align="right">相片:</td>
		<td height="25"><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>
		

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值