XHTML/XHTML 语法
HTML 代码和 XHTML 代码之间的语法差异很小。在本节中,我们将讨论编码的相似之处和不同之处。
实际上有很多,但必须更加结构化。例如,在 HTML 中,你不必添加p(段落)标签;它们是可选的。在 XHTML 中,你必须添加。
换句话说,你不能再将文本直接放到 body 中,用户必须向文本中添加元素。元素并没有发生巨大变化。以下各节将讨论变化。
如前所述,与 HTML 相比,编码严格。其中一种情况是标签和属性必须小写。在 HTML 中,你可以这样做
<P>This is a paragraph</p>
在 XHTML 中,这无效。所有标签和属性都必须小写,如下所示
<p>This is a paragraph</p>
这是正确的 XHTML,所有标签都小写。
与普通的 HTML 一样,你必须关闭标签。在 HTML 浏览器中,你可以省略,它仍然会显示网页,但最终看起来会很奇怪。现在,在 XHTML 中,开始和结束标签是必须的。如下所示
<p>The <b>Cat</b> sat on the mat.</p>
这是良好的 XHTML 编码,请记住打开和关闭标签。请注意,标签也是格式良好的。b(粗体)标签位于p(段落)标签内。
任何标签对都不应该为空。如果你需要表示一个空标签,你需要在标签本身内包含一个斜杠。例如,<br>
被替换为 <br />
。
如前所述,属性必须小写。例如
content="text/html; charset=iso-8859-1"
另请注意属性的值被引号引起来。还有一些属性值是大写的,例如
http-equiv="Content-Type"
这种情况很少见。属性必须具有值;它们不能再单独存在。
在进行内部链接时,情况发生了变化。这是 XHTML 的做法
This is the link that takes you to the section on the page:
<a href="#Fred">Go to Fred</a>
This is the position where the link will take you:
<p id="Fred">This is Fred</p>
有些人批评开发人员仍然需要在标签中添加旧的“name”属性。这样做仍然可以,因为一些旧浏览器可能无法读取新的命令。
开发人员还必须注意与字符。这些是页面地址或表单中的特殊字符,例如那些在 PHP 论坛中使用的字符。如果用户必须在 XHTML 中编码其中一个字符,他或她必须更改以下内容
<a href="forum.php?&style=orange">Forum</a>
变成
<a href="forum.php?&style=orange">Forum</a>
请注意,& 变成 &。
图像方面并没有太大变化。用户唯一需要考虑的是alt属性。在 HTML 中,它是可选的。现在必须将其包含在内,以防图像无法呈现
<img src="photo.gif" alt="Photo of the Beach" />
这样做会在找不到源文件中的图像时,在图像应该出现的位置显示文本。
虽然applet标签可以使用,但被认为是糟糕的开发方式,严格的 XHTML 不再允许使用它。如果你想使用小程序,无论是 Java 还是 Flash,你现在必须使用object标签。
当你声明 DTD Transitional 或 Frameset 时,你仍然可以使用这些标签(除了<xmp>),但建议你不要使用这些标签
<applet>
<basefont>
<b>
<center>
<dir>
<font>
<i>
<isindex>
<menu>
<s>
<strike>
<u>
<xmp>
这些标签在 XHTML 1.1 中无效