XHTML语法
XHTML语法规范
编写 XHTML 代码需要纯净的 XHTML 语法。主要的XHTML 语法规则如下:
- 所有的标签和标签的属性名称必须小写,属性值可以大小写。
- 属性值必须加引号,单引号双引号都可以。明确所有属性的值。
- 属性不能简写
- 用 Id 属性代替 name 属性
- XHTML DTD 定义了强制使用的 HTML 元素
- 所有的标签都必须被关闭封闭,空标签也不例外。如:
- <br />代替<br>结束。有属性则“/”出现在所有属性的后面 <img src="pic.jpg" />
- 使用页面注释。<!--这是一个注释 -->
- 推荐使用级联样式表控制外观,推荐使用外部链接来调用脚本。
XHTML语法规范
属性名称必须小写
这是错误的:
<table WIDTH="100%">
这是正确的:
<table width="100%">
属性值必须加引号
这是错误的:
<table width=100%>
这是正确的:
<table width="100%">
属性不能简写
这是错误的:
<input checked> <input readonly> <input disabled> <option selected> <frame noresize>
这是正确的:
<input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />
用 id 属性代替 name 属性
HTML 4.01 针对下列元素定义 name 属性:a, applet, frame, iframe, img, 和map。
在 XHTML 中不鼓励使用 name 属性,应该使用 id 取而代之。
这是错误的:
<img src="picture.gif" name="picture1" />
这是正确的:
<img src="picture.gif" id="picture1" />
重要的兼容性提示:
你应该在 "/" 符号前添加一个额外的空格,以使你的 XHTML 与当今的浏览器相兼容。
语言属性(Lang)
Lang 属性应用于几乎所有的 XHTML 元素。它定义元素内部的内容的所用语言的类型。
如果在某元素中使用 lang 属性,就必须添加额外的 xml:lang,像这样:
<div lang="no" xml:lang="no">Heia Norge!</div>
所有元素标签必须正确地嵌套
XHTML中,当元素进行嵌套时,必须按照打开元素的顺序进行关闭。正确嵌套元素的代码示例如下。
<ul><li></li></ul> 错误的嵌套元素的代码示例如下:<ul><li></ul></li> .
XHTML中还有一些严格强制执行的嵌套限制。这些限制包括以下几点。
- <a>元素中不能包含其他的<a>元素。
- <pre>元素中不能包含<object>、<big>、<img>、<small>、<sub>或<sup>元素。
- <button>元素中不能包含<input>,<textarea>,<label>,<select>,<button>,<form>,<iframe>,<fieldset>或<isindex>元素.
- <label>元素中不能包含其他的<label>元素。
- <form>元素中不能包含其他的<form>元素。
推荐使用级联样式表控制外观,推荐使用外部链接来调用脚本
在XHTML中,推荐使用级联样式表控制外观。实现页面的结构和表现相分离,相应地会有部分外观属性不推荐使用,例如align属性等
HTML中使用<!--和-->在注释中插入脚本,但是在XML浏览器中会被简单地删除,导致脚本或样式的失效。推荐使用外部链接来调用脚本。调用脚本的代码如下:
<script language="JavaScript1.2" type="text/javascript" src="scripts/menu.js"> </script>
强制使用的 XHTML 元素
所有 XHTML 文档必须进行文件类型声明(DOCTYPE declaration)。在 XHTML 文档中必须存在html、head、body元素,而 title 元素必须位于在 head 元素中。
下面是一个最小化的 XHTML 文件模板:
<!DOCTYPE Doctype goes here> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Title goes here</title> </head> <body> </body> </html>
提示:文件类型声明并非 XHTML 文档自身的组成部分。它并不是 XHTML 元素,也没有关闭标签。
提示:在 XHTML 中,<html> 标签内的 xmlns 属性是必需的。然而,即使当 XHTML 文档中没有这个属性时,w3.org 的验证工具也不会提示错误。这是因为,"xmlns=http://www.w3.org/1999/xhtml" 是一个固定的值,即使你没有把它包含在代码中,这个值也会被添加到 <html> 标签中。
在下一章我们学习更多关于 XHTML 文档类型DTD声明的知识。