XHTML语法与HTML语法非常相似,几乎所有有效的HTML元素在XHTML中也有效。但是,当您编写XHTML文档时,需要多加注意以使您的HTML文档符合XHTML。
这是在编写新的XHTML文档或将现有HTML文档转换为XHTML文档时要记住的要点-
- 在XHTML文档的开头编写DOCTYPE声明。
- 只写小写的所有XHTML标记和属性。
- 正确关闭所有XHTML标记。
- 正确嵌套所有标签。
- 引用所有属性值。
- 禁止属性最小化。
- 更换名称与属性ID属性。
- 弃用脚本标签的语言属性。
这是上述XHTML规则的详细说明-
DOCTYPE声明
所有XHTML文档都必须在开始时具有DOCTYPE声明。共有三种类型的DOCTYPE声明,将在XHTML Doctypes一章中详细讨论。这是使用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 Style | XHTML Style |
---|---|
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" />
该语言属性
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>元素。 |
<table> | 不得包含其他<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>
作者:terry,如若转载,请注明出处:https://www.web176.com/xhtml/638.html