- XHTML 教程
- XHTML - 首页
- XHTML - 简介
- XHTML - 语法
- XHTML - 对比
- XHTML - 文档类型
- XHTML - 属性
- XHTML - 事件
- XHTML - 1.1 版本
- XHTML - 提示与技巧
- XHTML - 验证
- XHTML - 总结
- XHTML 有用资源
- XHTML - 快速指南
- XHTML - 有用资源
XHTML - 语法
XHTML 语法与 HTML 语法非常相似,几乎所有有效的 HTML 元素在 XHTML 中也都是有效的。但是,当您编写 XHTML 文档时,需要格外注意,使您的 HTML 文档符合 XHTML 标准。
以下是在编写新的 XHTML 文档或将现有的 HTML 文档转换为 XHTML 文档时需要记住的重要事项:
在 XHTML 文档的开头编写 DOCTYPE 声明。
所有 XHTML 标签和属性都必须小写。
正确关闭所有 XHTML 标签。
正确嵌套所有标签。
对所有属性值加引号。
禁止属性最小化。
用 id 属性替换 name 属性。
弃用 script 标签的 language 属性。
以下是上述 XHTML 规则的详细说明:
DOCTYPE 声明
所有 XHTML 文档都必须在开头包含 DOCTYPE 声明。有三种类型的 DOCTYPE 声明,在 XHTML 文档类型章节中详细讨论。以下是用 DOCTYPE 的示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
大小写敏感性
XHTML 是一种大小写敏感的标记语言。所有 XHTML 标签和属性都必须小写。
<!-- This is invalid in XHTML --> <A Href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</A> <!-- Correct XHTML way of writing this is as follows --> <a href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</a>
在示例中,Href 和锚标签 A 不是小写,所以是错误的。
关闭标签
每个 XHTML 标签都应该有相应的结束标签,即使是空元素也应该有结束标签。以下示例显示了使用标签的有效和无效方法:
<!-- This is invalid in XHTML --> <p>This paragraph is not written according to XHTML syntax. <!-- This is also invalid in XHTML --> <img src="/images/xhtml.gif" >
以下语法显示了在 XHTML 中编写上述标签的正确方法。区别在于,这里我们正确地关闭了两个标签。
<!-- This is valid in XHTML --> <p>This paragraph is not written according to XHTML syntax.</p> <!-- This is also valid now --> <img src="/images/xhtml.gif" />
属性引号
所有 XHTML 属性的值都必须加引号。否则,您的 XHTML 文档将被视为无效文档。以下示例显示了语法:
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" width=250 height=50 /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" width="250" height="50" />
属性最小化
XHTML 不允许属性最小化。这意味着您需要显式地声明属性及其值。以下示例显示了区别:
<!-- This is invalid in XHTML --> <option selected> <!-- Correct XHTML way of writing this is as follows --> <option selected="selected">
以下是 HTML 中的最小化属性列表以及在 XHTML 中编写它们的方式:
| HTML 样式 | XHTML 样式 |
|---|---|
| compact | compact="compact" |
| checked | checked="checked" |
| declare | declare="declare" |
| readonly | readonly="readonly" |
| disabled | disabled="disabled" |
| selected | selected="selected" |
| defer | defer="defer" |
| ismap | ismap="ismap" |
| nohref | nohref="nohref" |
| noshade | noshade="noshade" |
| nowrap | nowrap="nowrap" |
| multiple | multiple="multiple" |
| noresize | noresize="noresize" |
id 属性
id 属性替换 name 属性。XHTML 倾向于使用 id = "id" 而不是 name = "name"。以下示例显示了如何操作:
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" name="xhtml_logo" /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" id="xhtml_logo" />
language 属性
script 标签的 language 属性已弃用。以下示例显示了这种差异:
<!-- This is invalid in XHTML -->
<script language="JavaScript" type="text/JavaScript">
document.write("Hello XHTML!");
</script>
<!-- Correct XHTML way of writing this is as follows -->
<script type="text/JavaScript">
document.write("Hello XHTML!");
</script>
嵌套标签
您必须正确嵌套所有 XHTML 标签。否则,您的文档将被视为不正确的 XHTML 文档。以下示例显示了语法:
<!-- This is invalid in XHTML --> <b><i> This text is bold and italic</b></i> <!-- Correct XHTML way of writing this is as follows --> <b><i> This text is bold and italic</i></b>
元素禁止
以下元素不允许在其内部包含任何其他元素。此禁止适用于所有嵌套深度。这意味着,它包括所有后代元素。
| 元素 | 禁止 |
|---|---|
| <a> | 不得包含其他 <a> 元素。 |
| <pre> | 不得包含 <img>、<object>、<big>、<small>、<sub> 或 <sup> 元素。 |
| <button> | 不得包含 <input>、<select>、<textarea>、<label>、<button>、<form>、<fieldset>、<iframe> 或 <isindex> 元素。 |
| <label> | 不得包含其他 <label> 元素。 |
| <form> | 不得包含其他 <form> 元素。 |
最小的 XHTML 文档
以下示例显示了 XHTML 1.0 文档的最小内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/TR/xhtml1" xml:lang="en" lang="en">
<head>
<title>Every document must have a title</title>
</head>
<body>
...your content goes here...
</body>
</html>