1.2 XHTML语言
1.2.1 XHTML文档基本构成
一个XHTML文档由DOCTYPE、head和body三个主要的部分构成,基本的文档结构如下:
在XHTML文档中,文档类型声明总位于首行,文档的其余部分类似于HTML。基本的HTML页面从<html>标记开始,以</html>标记结束,其他所有HTML代码都位于这两个标记之间。<head>与</head>之间是文档头部分,<body>与</body>之间是文档主体部分。
下面是一个简单的(最小化的)XHTML文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>simple document</title> </head> <body> <p>a simple paragraph</p> </body> </html>
这种文档用普通的记事本就可以创建、编辑,并且可以在各种操作系统平台(如UNIX、Windows等)中执行。
1.文档类型声明
文档类型声明定义文档的类型,包括三种文档类型。
(1)Strict(严格类型)
在此情况下,需要干净的标记,避免表现上的混乱,与层叠样式表(CSS)配合使用。上面这个最小化的XHTML文档用的就是Strict类型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
(2)Transitional(过渡类型)
当需要利用HTML在表现上的特性,为那些不支持CSS的浏览器编写XHTML时使用Transitional,格式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
(3)Frameset(框架类型)
当需要使用HTML框架将浏览器窗口分割为两部分或更多框架时使用Frameset,格式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
2.文档头
文档头部分处于<head>与</head>标记之间,在文档头部分一般可以使用以下几种标记。
● <title>和</title>:指定网页的标题。例如,“<title>主页</title>”表示该网页的标题为“主页”,在浏览器标题栏中显示的文本即为“主页”,通常Web搜索工具用它作为索引。
● <style>和</style>:指定文档内容的样式表,如字体大小、格式等。在文档头部分定义了样式表后,就可以在文档主体部分引用样式表,具体用法详见1.3节。
● <!--和-->:用于注释内容,其之间的内容为XHTML的注释部分。
● <meta>:描述标记,用于描述网页文档的属性参数。
描述标记的格式为<meta属性=“值”… />,常用的属性有name、content和http-equiv。name为meta的名字;content为页面的内容;http-equiv为content属性的类别。http-equiv取不同值时,content表示的内容也不一样。
◆ http-equiv="Content-type"时,content表示页面内容的类型,例如:
<meta name="description"http-equiv="Content-type"content="text/html;charset=gb2312" />
表示meta的名称为description,网页是XHTML类型,编码规则是gb2312。
◆ http-equiv="refresh"时,content表示刷新页面的时间,例如:
<meta http-equiv="refresh"content="10;URL=xxx.htm" />
表示10秒后进入xxx.htm页面,如果不加URL则表示每10秒刷新一次本页面。
◆ http-equiv="Content-language"时,content表示页面使用的语言,例如:
<meta http-equiv="Content-language"content="en-us" />
表示页面使用的语言是美国英语。
◆ http-equiv="pics-Label"时,content表示页面内容的等级。
◆ http-equiv="expires"时,content表示页面过期的日期。
● <script>和</script>:在这两个标记之间可以插入脚本语言程序,例如:
<script language="javascript"> alert("你好!"); </script>
表示插入的是JavaScript脚本语言,脚本语言主要用于客户端(前端)页面开发,详细内容将在本书第4章介绍。
3.文档主体
<body>和</body>是文档正文标记,文档的主体部分就处于这两个标记之间。<body>标记中还可以定义文档主体的一些内容,格式如下:
<body属性="值"… 事件="执行的程序"…> …</body>
<body>标记常用的属性如下。
● background:文档背景图片的URL地址。例如:
<body background="back-ground.gif">
表示文档背景图片名称为back-ground.gif,上面的代码中没有给出图片所在的位置,则表示图片和文档文件在同一文件夹下,如果图片和文档文件不在同一位置,则需要给出图片的路径,例如:
<body background="C:/image/back-ground.gif">
说明:在指定文件位置时,为防止与转义符“\”混淆,一般用“/”来代替“\”。
● bgcolor:文档的背景颜色。例如:
<body bgcolor="red">
表示文档的背景颜色为红色。系统的许多标记都会用到颜色值,颜色值一般用颜色名称或十六进制数值来表示,表1.1列出了16种标准颜色的名称及其十六进制数值。
表1.1 16种标准颜色的名称及其十六进制数值
● text:文档中文本的颜色,例如:
<body text="blue">
表示文档中文字的颜色都为蓝色。
● link:文档中链接的颜色。
● vlink:文档中已被访问过的链接的颜色。
● alink:文档中正在被选中的链接的颜色。
正文标记中的常用事件有onload和onunload。onload表示文档首次加载时调用的事件处理程序,onunload表示文档卸载时调用的事件处理程序。
4.示例
【例1.1】使用XHTML设计一个以南京师范大学校门为背景的网页。
(1)准备
在桌面上新建一个XHTML文件夹,到南京师范大学校园网下载一幅仙林新校区大门的照片,以文件名njnu.jpg保存于XHTML文件夹下。
(2)编辑XHTML文档
打开Windows记事本,输入下列内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>南京师范大学校门</title> <script language="JavaScript"> function myp() { alert("欢迎访问!"); } </script> </head> <body background="njnu.jpg" onload="myp()"> <div align="center"> <font color="#8888FF" size="7"> 南京师范大学仙林新校区 </font> </div> </body> </html>
以1_1njnu.html作为文件名保存到XHTML文件夹中(与njnu.jpg在同一个文件夹)。
(3)运行
双击打开刚刚编辑的文档1_1njnu.html,将显示如图1.3所示的页面。
图1.3 南京师范大学校门背景网页
从上例的代码中可以很清楚地看出XHTML与HTML有以下几点最主要的不同之处。
① 元素必须被正确地嵌套;
② XHTML元素必须被关闭;
③ 标签名必须用小写字母;
④ XHTML文档必须拥有一个根元素。
另外,XHTML还有下列语法规则。
① 属性名称必须小写;
② 属性值必须加引号;
③ 属性不能简写;
④ 用id属性代替name属性;
⑤ XHTML DTD定义了强制使用的HTML元素。
XHTML页面中显示的内容都是在文档的主体部分(即<body>和</body>标记之间)定义的。文档主体部分能够定义文本、图像、声音、滚动字幕、表格、表单、超链接和框架等,这些都依靠丰富的XHTML语言标记来完成。