二维码

HTML 与 XHTML

HTML 与 XHTML

XHTML 是更严格、更基于 XML 的 HTML 版本。

什么是 XHTML?

  • XHTML 代表 EXtensible HyperText Markup Language
  • XHTML 是更严格、更基于 XML 的 HTML 版本
  • XHTML 是定义为 XML 应用程序的 HTML
  • 所有主流浏览器都支持 XHTML

为什么选择 XHTML?

XML 是一种标记语言,其中所有文档都必须正确标记(格式正确)。

XHTML 的开发是为了让 HTML 更具可扩展性和灵活性 其他数据格式(如 XML)。此外,浏览器会忽略 HTML 中的错误 页面,并尝试显示网站,即使它在标记中有一些错误。 因此,XHTML具有更严格的错误处理。

如果您想学习 XML,请阅读我们的 [XML 教程]。

与 HTML 最重要的区别

  • <!DOCTYPE>必需
  • <html> 中的 xmlns 属性是必需
  • <html><head><title><body>必需
  • 元素必须始终正确嵌套
  • 元素必须始终关闭
  • 元素必须始终为小写
  • 属性名称必须始终为小写
  • 属性值必须始终用引号引起来
  • 禁止属性最小化

XHTML - <!DOCTYPE ....>是强制性的

XHTML 文档必须具有 XHTML <!DOCTYPE> 声明。

还必须存在 <html><head><title><body> 元素,以及 <html 中的 xmlns 属性> 必须指定文档的 XML 命名空间。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
下面是一个具有最少必需标记的 XHTML 文档:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Title of document</title>
</head>
<body>

  *some content here...*

</body>
</html>

XHTML 元素必须正确嵌套

在 XHTML 中,元素必须始终正确地嵌套在彼此之间,如下所示:

正确:
1
<b><i>Some text</i></b>
错:
1
<b><i>Some text</b></i>

XHTML 元素必须始终处于关闭状态

在 XHTML 中,元素必须始终是封闭的,如下所示:

正确:
1
2
<p>This is a paragraph</p>  
<p>This is another paragraph</p>
错:
1
2
<p>This is a paragraph  
<p>This is another paragraph

XHTML 空元素必须始终关闭

在 XHTML 中,必须始终关闭空元素,如下所示:

正确:
1
2
3
A break: <br />  
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
错:
1
2
3
A break: <br>  
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">

XHTML 元素必须为小写

在 XHTML 中,元素名称必须始终为小写,如下所示:

正确:
1
2
3
<body>  
<p>This is a paragraph</p>
</body>
错:
1
2
3
<BODY>  
<P>This is a paragraph</P>
</BODY>

XHTML 属性名称必须为小写

在 XHTML 中,属性名称必须始终为小写,如下所示:

正确:
1
<a href="/guide/HTML/Introduction.md">Visit our HTML tutorial</a>
错:
1
<a href="/guide/HTML/Introduction.md">Visit our HTML tutorial</a>

XHTML 属性值必须用引号括起来

在 XHTML 中,属性值必须始终用引号引起来,如下所示:

正确:
1
<a href="/guide/HTML/Introduction.md">Visit our HTML tutorial</a>
错:
1
<a href="/guide/HTML/Introduction.md">Visit our HTML tutorial</a>

禁止 XHTML 属性最小化

在 XHTML 中,属性最小化是被禁止的:

正确:
1
2
<input type="checkbox" name="vehicle" value="car" checked="checked" />  
<input type="text" name="lastname" disabled="disabled" />
错:
1
2
<input type="checkbox" name="vehicle" value="car" checked />  
<input type="text" name="lastname" disabled />