一、表格
一个完整的表格由一对<table>标签来定义。
每个表格均有若干个单元行(由一对<tr>标签定义)组成。
每个单元行由若干个单元格(由一对<td>标签定义)组成。
定义格式:
<table>
<tr>
<td>单元格内容</td>
<td>单元格内容</td>
…
</tr>
…
</table>
表格任务1:补全代码,table1.html的显示结果如下图所示
table1.html:
<!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">
<title>表格使用示例1-规则表格</title>
</head>
<body>
<table border="1" align="center">
<caption>学生信息表</caption>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3" align="center">这里是表尾</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>0001</td>
<td>王明明</td>
<td>男</td>
</tr>
…
</tbody>
</table>
</body>
</html>
colspan指当前单元格水平方向跨越的单元格数,值为一正整数,代表此单元格水平延伸的单元格数,或跨越的列数。
rowspan指的是当前单元格垂直方向跨越的单元格,值为一正整数,代表此单元格垂直延伸的单元格数,或跨行数。
表格例题:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表格使用示例3-不规则表格</title>
</head>
<body>
<table border="2" width="300" bordercolorlight="#FF9600"
bordercolordark="#FF00EE" cellpadding="0" cellspacing="0">
<tr>
<td>1</td>
<td rowspan="3">此单元格跨三行</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td colspan="2">此单元格跨两列</td>
</tr>
</table>
</body>
</html>
table3.html的显示结果如图所示。
- 二.表单
表单是一个容器,用来收集客户端要提交到服务器端的信息。
客户端将信息填写在表单中的控件中。当单击表单中的提交按钮时,表单中包含的控件的信息就会被提交给表单的action属性所指定的处理程序。
表单的使用非常广泛,是网页上用于输入信息的区域,例如向文本框中输入文字,在选项框里进行选择等。
在HTML中使用一对<form>标签来设计表单,其格式如下:
<form name=“…” action=“…” method=“post/get” target=“…” enctype=“…” onsubmit=“…” onreset=“…” accept=“…” accept-charset=“…”>
其中:
- name 指的是表单的名字。
- action 指的是处理表单或者接收表单信息的url。
- method 指的是表单提交的方法,默认值为get。
- target 指的是目标窗口。
- enctype 属性可选,指的是提交数据的格式,可以指定客户端提交到服务器端的数据的编码类型。
- onsubmit 指的是表单提交时调用的脚本语句或函数。
- onreset 指的是表单重置时调用的脚本语句或函数。
(1)单行文本框
单行文本框指的是表单中可以输入一行文本的输入框,通过设置<input>标签的type属性为text来指定。其格式如下:
<input type=“text” name=“…” value=“…” size=“…” maxlength=“…” onchange=“…” onselect=“…” onfocus=“…”/>
(2)密码框
密码框通过指定<input>标签的type属性值为password来实现。在密码框中输入字符时,显示的都是*或者实心圆点,密码框的用法和单行文本框的用法基本相同,其格式如下:
<input type=“password” name=“…” value=“…” size=“…” maxlength=“…” onchange=“…” onselect=“…” onfocus=“…”/>
(3)提交按钮
提交按钮通过指定<input>标签的type属性值为submit来实现。单击了提交按钮后,提交按钮所在的表单的内容会被提交到表单标签中action属性所指的处理程序。提交按钮的使用格式如下:
<input type=“submit” value=“…”/>
其中,value指的是提交按钮上显示的提示文字,一般为“Submit”或者“提交”。
(4)重置按钮
重置按钮通过指定<input>标签的type属性值为reset来实现。当单击重置按钮时,重置按钮所在的表单中的所有控件的内容将会被清除,回到控件的默认的初始值,可以重新在控件中输入数据。重置按钮的使用格式如下:
<input type=“reset” value=“…”/>
其中,value指的是重置按钮上显示的提示文字,一般为“reset”或者“重置”。
(5)普通按钮
除了以上提交按钮和重置按钮之外,还可以使用普通按钮。通过设置<input>标签的type属性值为button来实现。在表单中使用普通按钮,必须使用onclick调用处理脚本或脚本函数,使用格式如下:
<input type=“button” name=“…” value=“…” onclick=“…” onfocus=“…”/>
其中:
name指的是普通按钮的名字;
value指的是普通按钮上的提示文字;
onclick指的是当单击普通按钮时执行的脚本语句或函数;
onfocus指的是当普通按钮获得焦点时执行的脚本语句或函数;
(6)单选按钮
单选按钮通过指定<input>标签的type属性值为radio实现,其格式如下:
<input type=“radio” name=“…” value=“…” onclick=“…” onfocus=“…” checked />
其中:
name指的是单选按钮的名称,多个单选按钮属于同一个选项组,必须具有相同的name值;
value指的是单选按钮的值;
checked属性项可选,如果单选按钮的默认状态为被选中,则将checked写在其属性列内;如果不将checked写在其属性列内,则单选按钮的默认状态为未选中;
onclick指的是当单击单选按钮时执行的脚本语句或脚本函数;
onfocus指的是当单选按钮获得焦点时执行的脚本语句或脚本函数;
(7)复选按钮
复选按钮通过指定<input>标签的type属性值为checkbox来实现。其使用格式如下:
<input type=“checkbox” name=“…” value=“…” onclick=“…” onfocus=“…” checked/>
复选按钮默认的选中状态也通过checked指定,多个复选按钮是否处于同一个选项组也通过name属性指定。其属性可参照单选按钮的属性说明。
表单例题
form1.html中的表单提交给form1_ok.jsp处理,form1_ok.jsp显示用户填写的信息。
form1.html:
<!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">
<title>表单使用示例1</title>
</head>
<body>
<form name="form1" action="form1_ok.jsp" method="post">
<table border="1" width="300" cellpadding="0" cellspacing="0">
<tr>
<td align="left">姓名</td>
<td align="left"><input type="text" name="name" size="10" /></td>
</tr>
<tr>
<td align="left">密码</td>
<td align="left"><input type="password" name="password" size="10" /></td>
</tr>
<tr>
<td align="left">性别</td>
<td align="left"><input type="radio" name="gender" value="male"
checked />男<input type="radio" name="gender" value="female" />女</td>
</tr>
<tr>
<td align="left">爱好</td>
<td align="left"><input type="checkbox" name="hobby"
value="swimming" />游泳<br />
<input type="checkbox" name="hobby" value="reading" />读书<br />
<input type="checkbox" name="hobby" value="music" />音乐</td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="提交"/> <input type="reset" value="重置" /></td>
</tr>
</table>
</form>
</body>
</html>
form1_ok.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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">
<title>表单使用示例1-显示表单内控件的值</title>
</head>
<body>
<%
String name = request.getParameter("name");
String password = request.getParameter("password");
String gender = request.getParameter("gender");
String[] hobby = request.getParameterValues("hobby");
out.print("name:" + name + "<br/>");
out.print("password:" + password + "<br/>");
out.print("gender:" + gender + "<br/>");
if (hobby != null) {
out.print("hobby:");
for (int i = 0; i < hobby.length; i++) {
out.print(hobby[i] + " ");
}
}
%>
</body>
</html>
三 框架
- 使用框架可以将一个浏览器窗口划分成多个区域,每个区域就是一个框架,每个框架可以单独引用一个源文件,这样可以实现在一个浏览器窗口显示多个源文件。
- 源文件之间是相互独立的,互不影响。
- 当其中一个源文件的内容发生变化时,其它的源文件不受影响。
- 多个框架看成一个整体称为框架集。
- 利用框架集可以实现网页的布局。
在HTML中使用一对<frameset>标签来确定框架的划分,<frameset>标签可以嵌套使用。
具体的包含引用页的框架使用一对<frame>标签来实现。
利用<frameset>的rows属性可以将页面进行垂直划分,利用cols属性可以将页面进行水平划分,利用<frameset>标签的嵌套可以实现混合划分。
- 在HTML中使用一对<frameset>标签来确定框架的划分,<frameset>标签可以嵌套使用。
- 具体的包含引用页的框架使用一对<frame>标签来实现。
- 利用<frameset>的rows属性可以将页面进行垂直划分,利用cols属性可以将页面进行水平划分,利用<frameset>标签的嵌套可以实现混合划分。
例题:下面的实例为一个混合框架,先垂直划分,然后水平划分,当单击左侧框架的超级链接时,在右侧框架中显示资源文件。
frame.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<frameset rows="20%,*">
<frame name="top" src="top.html"/>
<frameset cols="40%,*">
<frame name="left" src="left.html"/>
<frame name="right" src="ch1.html"/>
</frameset>
</frameset>
</html>
top.html:
<!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">
<title>top</title>
</head>
<body bgcolor="#FFBFFF">
<h3 align="center">这是TOP</h3>
</body>
</html>
left.html:
<!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">
<title>left</title>
</head>
<body bgcolor="#A3D1D1">
<ul>
<li><a href="ch1.html" target="right">第1章</a></li>
<li><a href="ch2.html" target="right">第2章</a></li>
<li><a href="ch3.html" target="right">第3章</a></li>
</ul>
</body>
</html>
ch1.html:
<!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">
<title>ch1</title>
</head>
<body bgcolor="#FFDCB9">
<h3>这是第1章的内容</h3>
</body>
</html>