XHTML 是以 XML 格式编写的 HTML。
什么是XHTML?
· XHTML 指的是可扩展超文本标记语言
· XHTML 与 HTML 4.01 几乎是相同的
· XHTML 是更严格更纯净的 HTML 版本
· XHTML 是以 XML 应用的方式定义的 HTML
· XHTML 是 2001 年 1 月发布的 W3C 推荐标准
· XHTML 得到所有主流浏览器的支持
为什么使用XHTML?
因特网上的很多页面包含了“糟糕”的 HTML。
如果在浏览器中查看,下面的 HTML 代码运行起来非常正常(即使它并未遵守 HTML 规则):
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
<p>This is a paragraph
</body>
XML 是一种必须正确标记且格式良好的标记语言。
如果希望学习 XML,请阅读我们的 XML 教程。
今日的科技界存在一些不同的浏览器技术。其中一些在计算机上运行,而另一些可能在移动电话或其他小型设备上运行。小型设备往往缺乏解释“糟糕”的标记语言的资源和能力。
所以 - 通过结合 XML 和 HTML 的长处,开发出了 XHTML。XHTML 是作为 XML 被重新设计的 HTML。
与 HTML 相比最重要的区别:
文档结构
· XHTML DOCTYPE 是强制性的
· <html> 中的 XML namespace 属性是强制性的
· <html>、<head>、<title> 以及<body> 也是强制性的
元素语法
· XHTML 元素必须正确嵌套
· XHTML 元素必须始终关闭
· XHTML 元素必须小写
· XHTML 文档必须有一个根元素
属性语法
· XHTML 属性必须使用小写
· XHTML 属性值必须用引号包围
· XHTML 属性最小化也是禁止的
<!DOCTYPE....> 是强制性的
XHTML 文档必须进行 XHTML 文档类型声明(XHTMLDOCTYPE declaration)。
您可以在W3School 的标签参考手册中找到完整的 XHTML 文档类型。
<html>、<head>、<title>以及 <body> 元素也必须存在,并且必须使用<html> 中的 xmlns 属性为文档规定 xml 命名空间。
下面的例子展示了带有最少的必需标签的 XHTML文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
......
</body>
</html>
如何从 HTML转换到 XHTML
1. 向每张页面的第一行添加 XHTML <!DOCTYPE>
2. 向每张页面的 html 元素添加 xmlns 属性
3. 把所有元素名改为小写
4. 关闭所有空元素
5. 把所有属性名改为小写
6. 为所有属性值加引号
空标签也必须被关闭
空标签也必须使用结束标签,或者其开始标签必须使用/>结尾。
这是错误的:
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif"alt="Happy face">
这是正确的:
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif"alt="Happy face" />
用 id 属性代替 name 属性
HTML4.01 针对下列元素定义 name 属性:a, applet, frame, iframe, img, 和map。
在 XHTML中不鼓励使用 name 属性,应该使用 id 取而代之。
这是错误的:
<img src="picture.gif" name="picture1" />
这是正确的:
<img src="picture.gif" id="picture1" />
重要的兼容性提示:
你应该在"/" 符号前添加一个额外的空格,以使你的 XHTML与当今的浏览器相兼容。
3种文档类型声明
· DTD 规定了使用通用标记语言(SGML)的网页的语法。
· 诸如 HTML 这样的通用标记语言应该使用 DTD 来规定应用于某种特定文档中的标签的规则,这些规则包括一系列的元素和实体的声明。
· 在通用标记语言(SGML)的文档类型声明或 DTD 中,XHTML 被详细地进行了描述。
· XHTML DTD 使用精确的可被计算机读取的语言来描述合法的 XHTML标记的语法和句法。
存在三种XHTML文档类型:
· STRICT(严格类型)
· TRANSITIONAL(过渡类型)
· FRAMESET(框架类型)
XHTML1.0 的三种 XML 文档类型
XHTML 1.0 规定了三种 XML 文档类型,以对应上述三种 DTD。
XHTML 1.0 Strict
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
在此情况下使用:需要干净的标记,避免表现上的混乱。请与层叠样式表配合使用。
XHTML 1.0 Transitional
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
在此情况下使用:当需要利用 HTML 在表现上的特性时,并且当需要为那些不支持层叠样式表的浏览器编写 XHTML 时。
XHTML 1.0 Frameset
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
在此的情况下使用:需要使用HTML框架将浏览器窗口分割为两部分或更多框架时。