1、什么是XHTML
XHTML
是以XML
格式编写的HTML
。XHTML
指的是可扩展超文本标记语言XHTML
与HTML 4.01
几乎是相同的XHTML
是更严格更纯净的HTML
版本XHTML
是以XML
应用的方式定义的HTML
XHTML
是 2001 年 1 月发布的W3C
推荐标准XHTML
得到所有主流浏览器的支持
2、为什么使用 XHTML?
因特网上的很多页面包含了“糟糕”的 HTML。
如果在浏览器中查看,下面的 HTML 代码运行起来非常正常(即使它并未遵守 HTML 规则):
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
<p>This is a paragraph
</body>
- XML 是一种必须正确标记且格式良好的标记语言。
3、XHTML
与 HTML
相比最重要的区别
(1)文档结构
XHTML DOCTYPE
是强制性的<html>
中的XML namespace
属性是强制性的<html>
、<head>
、<title>
以及<body>
也是强制性的
(2)元素语法
XHTML
元素必须正确嵌套XHTML
元素必须始终关闭XHTML
元素必须小写XHTML
文档必须有一个根元素
(3)属性语法
XHTML
属性必须使用小写XHTML
属性值必须用引号包围XHTML
属性最小化也是禁止的
下面的例子展示了带有最少的必需标签的 XHTML 文档:
<!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/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
......
</body>
</html>
4、 如何从 HTML
转换到 XHTML
- 向每张页面的第一行添加
XHTML <!DOCTYPE>
- 向每张页面的
html
元素添加xmlns
属性 - 把所有元素名改为小写
- 关闭所有空元素
- 把所有属性名改为小写
- 为所有属性值加引号
5、XHTML
- 元素
- XHTML 元素是以 XML 格式编写的 HTML 元素。
5.1 XHTML
元素 - 语法规则
XHTML
元素必须正确嵌套XHTML
元素必须始终关闭XHTML
元素必须小写XHTML
文档必须有一个根元素
5.2 XHTML
元素必须正确嵌套
例如:
<b><i>This text is bold and italic</i></b>
而不是:
<b><i>This text is bold and italic</b></i>
5.3 XHTML
元素必须始终关闭
例如:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
A break: <br />
A horizontal rule: <hr />
An image: <img src="happy.gif" alt="Happy face" />
而不是:
<p>This is a paragraph
<p>This is another paragraph
A break: <br>
A horizontal rule: <hr>
An image: <img src="happy.gif" alt="Happy face">
5.4 XHTML
元素必须小写
例如:
<body>
<p>This is a paragraph</p>
</body>
而不是:
<BODY>
<P>This is a paragraph</P>
</BODY>
6、XHTML
- 属性
- XHTML 属性是以 XML 格式编写的 HTML 属性。
6.1 XHTML
属性 - 语法规则
XHTML
属性必须使用小写XHTML
属性值必须用引号包围XHTML
属性最小化也是禁止的
6.2 XHTML 属性必须使用小写
例如:
<table width="100%">
而不是:
<table WIDTH="100%">
6.3 XHTML
属性值必须用引号包围
例如:
<table width="100%">
而不是:
<table width=100%>
6.4 禁止属性简写
例如:
<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
而不是:
<input checked>
<input readonly>
<input disabled>
<option selected>