诚然大多数人对web标准都有各自的认知和观点,但并不是那么多人都完全了解为什么会有这样的标准。因为在上世纪末的时候,虽然互联网是一个疯狂且危险的新领域,但今天的许多开发者当时并没有真正去学习和了解当时的知识。所以,如果现在还有人在告诉你应该使用table标签去进行布局的话,那么他诚然没有在那个时候真正写过什么HTML代码。

至于为什么当初会有这种使用方法,那是因为当时的HTML还仅仅是一个用以标记研究论文的简单语言,浏览器厂商和图形设计师都对其低下的布局能力颇有微辞,所以诸如font这种标签,以及使用table标签来进行布局的hack做法应运而生。这种做法破坏了HTML的本意,为了迁就视觉效果而忽略了正确的文档结构。可惜的是,那时的浏览器厂商并没有帮上什么忙,那个年代对我来说已经比较久远,而从可考察到的资料上来看,那时微软和网景都在不断开发自己的私有扩展,这就是那时的浏览器之争。那时为了兼容不同的浏览器,甚至需要为不同的浏览器写不同的HTML代码,虽然在当时大量资金的涌入下,人们觉得这也没什么大不了的。

2000年开始,互联网行业开始进入了第一个冬天,那时开发者和投资者都无法对此情况再容忍,情况需要有一些改变。有一批人建立了一个Web标准项目的组织。劝说浏览器厂商遵守W3C所建议的规范。W3C自从1996年发布了第一份规范开始,就不停挑战着现有的互联网规则,并为很多种技术提供了规范的解决方案。

W3C工作组成员由很多不同背景的专业人士组成,他们所考虑和讨论的问题都是一些普通web设计师永远不用关心的。他们的目标是提供一系列经过深思熟虑的建议,这些建议为软件开发者和浏览器指明了发展的方向。其目的在于帮助网站开发者和设计师能够让自己的作品可以在最多数的user agent中正常显示并正常使用。

值得注意的一个问题是,当一些人在为是否要遵守Web标准而大打口水战的时候,他们通常都混淆了概念。W3C的文档都以Recommendation命名,而不是以Standard。所以首先应该想清楚的问题是,标准和建议之间究竟有什么区别。

Web标准带来的好处在于页面文档的结构和语义在得到很好的保护的同时,也能够对布局进行精确的控制,并且可以支持最大多数的user agent访问,而不需大量的额外工作。第二个好处在于这将页面的构建拆分为了耦合性更低的工作流程,有利于协同开发。

因为这只是一种建议,所以某款浏览器是否完全提供了对标准的支持,或是某个网站的每个页面是否完全遵守了这些标准并不是强求的。即便没有遵守一些标准,也并不是什么天大的错误,有时候这些建议也不完全是对的,反而可能把事情变得复杂,比如在HTML5里便有一些仍然存在争议的建议。

但是他们大部分的建议和工作是值得为其鼓掌的,同时这些标准推行着是值得钦佩的实践者,他们通过使用Web标准告诉了浏览器厂商和其他开发者以及设计师使用这些标准的好处。例如Web标准项目的创始人之一Jeffrey Zeldman就是这么做的,Dave Shea也通过csszengarden展示了运用Web标准也可以实现的在视觉和代码上都非常精致的作品。

相关链接:
http://www.webstandards.org
http://www.csszengarden.com