owhile 2020-04-07
XHTML 是 HTML 与 XML(扩展标记语言)的结合物,包含了所有与 XML 语法结合的 HTML 4.01 元素。
通过把 HTML 和 XML 各自的长处加以结合,我们得到了在现在和未来都能派上用场的标记语言 - XHTML。
注意
XHTML 元素必须被正确嵌套
某些元素可以不正确地被嵌套,如下:
<b><i>This text is bold and italic</b></i>
正确的嵌套如下:
<b><i>This text is bold and italic</i></b>
XHTML 元素必须被关闭(空标签也必须被关闭)
这是错误的:
<p>This is a paragraph <p>This is another paragraph
这是正确的:
<p>This is a paragraph</p> <p>This is another paragraph</p>
空标签的关闭,如:
<br /> <hr /> <img src="happy.gif" alt="Happy face" />
元素必须小写:
如下是错误的:
<BODY> <P>This is a paragraph</P> </BODY>
正确的如下:
<BODY> <P>This is a paragraph</P> </BODY>
XHTML 文档必须拥有一个根元素
所有的 XHTML 元素必须被嵌套于 <html> 根元素中。其余所有的元素均可有子元素。子元素必须是成对的且被嵌套在其父元素之中。
<html> <head> ... </head> <body> ... </body> </html>
编写 XHTML 代码需要纯净的 HTML 语法。更多的 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 元素
所有 XHTML 文档必须进行文件类型声明(DOCTYPE declaration)。在 XHTML 文档中必须存在html、head、body元素,而 title 元素必须位于在 head 元素中。
模板如下:
<!DOCTYPE Doctype goes here> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Title goes here</title> </head> <body> </body> </html>
XHTML 定义了三种文件类型声明,使用最普遍的是 XHTML Transitional。
一个 XHTML 文档主要有三个主要的部分
基本的文档结构:
<!DOCTYPE ...> <html> <head> <title>... </title> </head> <body> ... </body> </html>