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 "-//W
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
DOCTYPE大大地影响浏览器(比如Internet Explorer)呈现页面的方式。VWD中的XHTML 1.0 Transitional默认DOCTYPE很好地保证了有效标记和页面在各主流浏览器中显示一致。
提示:
如果想了解关于XHTML的更多信息,请参见Beginning Web Programming with HTML,XHTML,and CSS,ISBN:978-0-7645-7078-0。