1. 简介
本文阐述了Web标准是如何使一个开发者建设网站更加的节省时间与金钱,如何使浏览者获得更好的浏览经历,以及他们的原因。同时,讨论中还涉及到一些方法,准则和好的实例用来帮助您建设一个对尽可能多的人都充满亲和力的高质量的网站。
2. 历史
在90年代后期,当互联网和web逐渐成为主流时,Web浏览器的开发商还没有完全的支持CSS(层叠式样式表,对于Web开发人员来说,他们可以用CSS来控制Html文档的表现)。考虑到CSS1是在1996年制定的,而CSS2是在1998年才制定的,所以这种对CSS支持的不足也是可以理解的。
由于浏览器对CSS的支持不够,再加上一些平面设计师的要求(这些要求与他们经常与印刷品打交道有关)导致他们为了控制网页的视觉表现而滥用HTML。一个典型的例子就是,当设计师可以用 border="0"来隐藏表格的边框时,用隐藏表格来控制布局的方法同样被使用。另一个例子是对“transparent”(透明)的使用,同样是不可见,他们却使用空白的GIF图片来控制布局。
由于HTML从来就没被用来控制一个文档的表现,导致大量的乱码、非法代码、浏览器的专用代码和属性就被随意的使用了。“校验”这个词也很少被人问津。对于这些代码来说,标签汤(tag soup)是一个很形象的名字。
新版本的web浏览器的发布,使得对CSS的支持得到了加强与扩展,但是并没有达到它应有的水平。尽管浏览器的开发商对CSS支持的步伐很缓慢,但是现在已经有许多浏览器选择了支持CSS,此时,不应该再有任何理由再像以前那样使用HTML了,应该让它恢复本来的面貌:去描述文档的结构 ,而不是它的表现。 正因为此,我们现在才能够用CSS来达到其本来的目的了。
3. Web标准
什么是web标准?
Web标准是一些规范的集合,是由W3C和其他的标准化组织共同制定的,以用它来创建和解释网页的基本内容。这些规范是专门为了那些在网上发布的可向后兼容的文档所设计,使其能够被大多数人所访问。
结构化语言
HTML (超文本置标语言) 4.01
XHTML (可扩展超文本置标语言) 1.0
XHTML 1.1
XML (可扩展置标语言) 1.0
表现类语言
CSS (层叠式样式表) Level 1
CSS Level 2 revision 1
CSS Level 3 (正在开发中)
MathML (数学置标语言)
SVG (可变矢量图形)
对象模型
DOM (文档对象模型) Level 1
DOM Level 2
DOM Level 3 Core
脚本语言
ECMAScript 262
(JavaScript的标准化版本)
本文关注的是XHTML 1.0 Strict(代表结构)、CSS Level 1和Level 2(代表表现)、ECMAScript 262(代表脚本--并不是指那些脚本的例子)。
当一个文档被认为离Web标准不远了的时候,那就意味着,除了具有上面所提到的技术,还应当:
由符合标准的XHTML组成
用CSS来布局而不是表格
使用结构化、语义化的标记
能够在任何浏览器中显示
注意,“能够在任何浏览器中显示”并不意味着“在任何一个浏览器中显示的效果相同”。使一个文档在不同的浏览器和平台上都有相同的显示效果是不可能的,除非您仅仅使用图片,因为发布在网上的文档将被不同的操作系统上的不同的浏览器软件所显示,并显示在不同大小与质量的显示器上(或者显示在非显示器上),浏览者也可能改变了浏览器的默认字体或者其他喜好。希望这些能使您减少了一些挫折感。每一个做网页的人都应该了解,一些技术上的先决条件我们不得不考虑,就像那些出书、拍电影、拍电视的人一样,他们也有一些其他方面的前提必须要考虑。