发布时间:2011-06-25 23:28:18作者:知识屋
Web标准及验证
在这一课,你将了解一些有关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使用的是哪种“方言”(比如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标签中加入一些信息,也就是添加两个属性xmlns
和lang
。
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中的错误,按照它们推测的正确结果去显示网页。使用这样的浏览器,你会忽视网页中存在的错误。而该网页在其它的浏览器上看到的效果可能会截然不同,甚至根本无法显示。所以,可以用验证器帮你找到可能被你忽视的错误。
请始终坚持验证你的网页,以确保它们能正确地显示。
2013-02-03
html5 音乐播放器 audio 标签使用概述
2012年HTML5的14个大胆预言
html标签marquee
HTML 基本语法 方便刚开始学习html的朋友
HTML5实验:JavaScript模拟流体效果
HTML页面做中间页跳转传递参数
html滚动条 textarea属性设置
HTML5教程:html标签属性通过w3c验证
响应式布局这件小事 设计师如何实现响应