第14课:Web标准及验证

在这一课,你将了解一些有关HTML的偏理论的知识。

关于HTML,还有什么要了解的?

你可以以多种不同的方式来编写HTML;同时,浏览器也可以以多种不同的方式来理解HTML。你可以认为HTML有很多种方言。这就是为什么某些网站会在不同的浏览器上显示出不同效果的原因。

为了解决这一问题,HTML发明人Tim Berners-Lee先生创办了万维网联盟(World Wide Web Consortium,W3C)来致力于制订通用的HTML标准。但这是一条漫长而艰难的路程。

过去,在浏览器都要收费的年代里,Netscape曾是占据统治地位的浏览器。那时的HTML标准是2.0和3.2。但是,作为市场份额达90%以上的Netscape,它不必、同时也没有太在意通用标准。相反地,Netscape创造了自己特有的元素,这些元素在其它浏览器上将不起作用。

在很长一段时间内,微软几乎完全忽略了因特网。但不久之后,微软开始与Netscape竞争,并推出了IE浏览器。尽管IE浏览器(Internet Explorer)的早期版本在支持HTML标准方面比不上Netscape,但由于它是免费提供的(免费总是很受欢迎的),所以IE很快便成为最流行的浏览器。

微软从IE的第4版和第5版开始致力于对W3C HTML标准作更多支持。而Netscape则没有设法开发新版浏览器,只是继续供应已经过时的第4版浏览器。

其余的事,大家都知道,就不必提了。今天,HMTL标准已经发展到4.01版和XHMTL。现在,占据市场90%以上的份额的是IE浏览器了。IE也有自己特有的元素,但它也支持W3C HTML标准。同样地,其它的浏览器,比如Mozilla、Opera和Netscape等,都是既有自己特有的元素,也同时支持W3C HTML标准。

因此,只要你遵循W3C标准来编写HTML,你的网页将永远能在所有浏览器上显示出来。幸运的是,你在本教程学到的是XHTML,它是最新的、更严格、更纯正的HTML版本

酷 !如何向别人透露HTML的版本信息?

HTML有很多不同种类,所以你需要告诉浏览器,你的HTML使用的是哪种“方言”(比如XHTML)。具体做法是采用文档类型声明。文档类型声明应写在HTML文档的开头部分:

例1:

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

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

	<head>
	<title>网页标题</title>
	</head>

	<body>
	<p>一些文字</p>
	</body>

	</html>
	
	

除了要给出文档类型声明以外(上例中第一行,它告诉浏览器这个文档是XHMTL),还需要在html标签中加入一些信息,也就是添加两个属性xmlnslang

xmlns是“XML-Name-Space”(XML名称空间)的缩写,其值固定为http://www.w3.org/1999/xhtml。关于名称空间,你只需了解这么多。但如果你希望作更多了解的话,可以登录W3C网站阅读有关名称空间(namespaces)的内容。

lang属性用于指定当前文档所使用的语言,其值采用ISO 639标准中列出的世界各国语言代码。上例中,我们指定文档采用的语言为英语(对应的属性值为“en”)。

通过HTML文档头部的文档类型声明,浏览器可以知道如何读取和显示你的HTML。今后,可以使用上例作为模板来编写你的HTML文档。

此外,文档类型声明在验证网页时也很有用。

验证? 为什么要验证文档?如何验证呢?

你可以用W3C的免费验证器(validator)来检查你的HTML文档是否符合你在文档类型声明中所指定的类型。

为了测试如何验证文档,请编写一个网页并将它上传到因特网上,现在,打开网页validator.w3.org,在网页里输入你网页的网址(URL),然后验证它。如果你的HTML没有错误,将显示成功信息。否则,你将会得到错误报告,它会详细告诉你出错的位置和原因。你可以在网页里故意制造一些错误,看看会返回什么样的结果。

这个验证器不仅仅对找错有帮助。有些浏览器会尽量修复HTML中的错误,按照它们推测的正确结果去显示网页。使用这样的浏览器,你会忽视网页中存在的错误。而该网页在其它的浏览器上看到的效果可能会截然不同,甚至根本无法显示。所以,可以用验证器帮你找到可能被你忽视的错误。

请始终坚持验证你的网页,以确保它们能正确地显示。



<< 第13课:上传网页

第15课:最后提示 >>