HTML和XHTML之间的区别

虽然两者的名称看起来非常相似,但是它们之间有一些有趣的区别,需要加以注意。XHTML是用XML(eXtensible Markup Language)形式重新表示的HTML。XML是一种通用的、用来描述数据的、基于文本与标记的语言,它也作为其他许多语言(包括XHTML)的基础语言。

因此,XHTML实际上很大程度上是用XML规则重写的HTML。这些规则相当简单,而且大多数时候VWD都会帮助作出正确决定,或者提供错误列表和关于如何修复的建议。

总是闭合元素

在XHTML中,所有元素都必须闭合。因此如果用<p>开始了一个段落,就必须在页面的后面某个地方用</p>闭合这个段落。对于没有结束标记的标记也是如此,比如<img>或<br>(用来输入一个行中断)。在XHTML中,这些标记被写为自结束标记,其中结束标记中的斜杠直接嵌套在标记自身中,比如在<img rc="Logo.gif"/>或<br/>中。

标记和属性名称总是使用小写

XML是区分大小写的,XHTML通过强制所有标记采用小写来应用该规则。虽然标记和属性必须都是小写,但是实际值不必是这样。因此,前面显示logo图像的示例是完全有效的XHTML,尽管图像名称中用了大写的L。

总是用引号括起属性

每当在标记中写属性时,都要用引号将它的值括起来。例如,在写<img>标记和src属性时,如下这样写:

<img src="Logo.gif" />

而不是如下这样:

<img src=Logo.gif />

注意,也可以用单引号括起属性值,比如下面这个示例:

<img src='Logo.gif' />

有时还有必要嵌套单引号和双引号。当有些特殊ASP.NET语法要求使用双引号时,应当用单引号括起属性的值:

<asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />

在本书的其他章节中将不时地出现这种语法。

为了保持一致,本书在最终出现在客户机中的所有HTML中可能出现引号的地方都用双引号。

正确地嵌套标记

在写嵌套标记时,一定要先闭合上一个起始标记,然后闭合外部标记。考虑以下这个示例,即同时用粗体和斜体格式化一段文本:

<b><i>This is some formatted text</i></b>

注意<i>是在<b>标记之前闭合的。交换结束标记的顺序会导致无效的XHTML:

<b><i>This is some formatted text</b></i>

总是向页面中添加一个DOCTYPE声明

DOCTYPE指出了能接受的HTML类型信息。默认情况下,VWD向页面中添加的DOCTYPE是XHTML 1.0 Transitional。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

DOCTYPE大大地影响浏览器(比如Internet Explorer)呈现页面的方式。VWD中的XHTML 1.0 Transitional默认DOCTYPE很好地保证了有效标记和页面在各主流浏览器中显示一致。

提示:

如果想了解关于XHTML的更多信息,请参见Beginning Web Programming with HTMLXHTMLand CSS,ISBN:978-0-7645-7078-0。

posted on 2010-04-29 09:19  胜锐  阅读(354)  评论(0编辑  收藏  举报