XHTML 1.0 所做的工作就是将 HTML 4.0(最后的 HTML 版本)按照符合 XML 标准的要求加以改造。XHTML 1.0 并未定义任何新的元素和属性,而是沿用了所有 HTML 4.0 的元素和属性,因此 XHTML 1.0 与 HTML 4.0 是兼容的。XHTML 2.0 对于 XHTML 1.0 做了很大的改进,很多地方甚至与 XHTML 1.0 不兼容。由于目前主流的浏览器仅仅只能支持 XHTML 1.0,这里的讨论限制在 XHTML 1.0 的范围内。

 XHTML 1.0 对于 HTML 4.0 做了改造,对于页面提出了一些新的要求包括:

1. 必须在页面最顶部加上 DOCTYPE 的声明。如果不加这个声明,浏览器就会按照 HTML 4.0 的方式来处理,而不把页面当作 XHTML 处理。

XHTML 1.0 的 DOCTYPE 声明有 3 种,分别对应 3 种不同的 DTD。

Transitional —— 最宽松的 DTD,可以使用带表现含义的标签和属性。

写法为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Strict —— 最严格的 DTD,不允许使用任何带表现含义的标签和属性。

写法为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Frameset —— 用于使用了 frame 的页面(即,包含有 <frameset> 标记)。

写法为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

2. 紧跟在上面 DOCTYPE 声明之后的是一个 XHTML 名字空间(namespace)声明,放在增强的 <html> 元素中,写法为:

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

3. 由于 XHTML 1.0 页面就是合法的 XML 文档,而 XML 对于标签和属性都是区分大小写的,为了简单起见,XHTML 1.0 页面中所有的标签和属性都必须使用小写。

4. 通过在 <head> 元素中添加一个 <meta> 元素来声明页面中使用的语言。

<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

5. 在 XHTML 中,所有的属性都必须要加上引号。

6. 在 XHTML 中,所有的属性都必须有值。

不能像在 HTML 4.0 中那样写:

<input type="checkbox" name="shirt" value="medium" checked>

而要写成:

<input type="checkbox" name="shirt" value="medium" checked="checked" />

7. 在 XHTML 中,所有的标签都必须关闭。

关闭标签有两种方式,包含内容的标签使用结束标签关闭,空标签在后面加上空格和“/”。例如:

<p>This is acceptable HTML and it is also valid XHTML.</p><img src="logo.gif" />

8. 不要在注释内容中使用“--” 。

“--” 只能使用在 XHTML 注释的开头和结束,不能出现在注释的内容中。下面的写法都是不允许的:

<!--Invalid -- and so is the classic "separator" below. -->

9. 把所有的特殊符号编码。

< = &amp;lt;> = &amp;gt;

10..不允许使用target="_blank"
     在HTML4.01可以使用target="_blank",
     但XHTML1.0是不被允许的,你可以改写为 target="new"

11.正确使用CSS样式表一定要放在<head></head>之间

     建议全站的样式都写在.css文件中;

12.同一个id选择器不可重复使用
一个网页中id="xx"同一个选择器不能重复使用,若需要重复请用class="xx"

13.图片卷标加上文字说明alt="说明"
错误 <img src="bg.gif" height="50" border="0" />
正确 <img src="bg.gif" height="50" border="0" alt="说明文字" />

 

---------------------------------

简单的说:

xhtml和html4.01,它们实际上并没有太多的不同。最主要的不同是:
1.XHTML 元素必须被正确地嵌套。
2.XHTML 元素必须被关闭。
3.标签名必须用小写字母。
4.XHTML 文档必须拥有根元素。

引自:http://www.cnblogs.com/houbusheng123/archive/2010/08/24/1807621.html