重新认识一下网页标准

所属分类: 网页制作 / CSS 阅读数: 1568
收藏 0 赞 0 分享
译自:What are web standards?
中文:什么是网页标准?
原作者:Nicholas C. Zakas
请尊重版权,转载请注明出处!

译序:现在HTML5如日中天,各大浏览器都声称支持或者将支持HTML的特性,好像HTML5能够让互联网更美好,能让网站开发人员解放一样。或许大家被压抑太久,或许大家太乐观,或许标准真的已经深入人心了。看着火辣辣的HTML5,想想XHTML标准的尴尬,或许这个时候看看这篇写于2008年底文章会让我们更理解到底什么才是标准,标准能做什么,而我们应该做些什么……——神飞

在网站开发过程中,你会听到词语“标准”很多次。我的意思是,很多次。Internet Explorer因为不支持标准而广为诟病,Opera自称是唯一的一个真正努力地完全实现标准的浏览器,而全世界的开发人员又相互责备没有遵循标准。可笑的是,大部分人根本不理解什么是标准或者它们是怎么变成这样的。

让我们以互联网上的头号神话来说起:W3C创造了标准。这完全是错误的。W3C宣称的目标是创造标准,但是它不能够在实际上创造它们。为什么呢?因为,很简单,标准是大多数人决定要做的事情。因此,网页标准是大部分浏览器厂商决定要追随的。W3C可以推荐应该怎么做,但是它没有权利强制实施。如果W3C真的可以创造标准,那么我们也不会仍然在等待相关的浏览器支持XHTML了,它在1999年就完成了。W3C没有能力强制浏览器厂商做任何事情;每个人都能决定自己想做什么。甚至参与到W3C的浏览器厂商都不遵循某些规范(全部的浏览器厂商都这样)。

所以如果我和我的同伴这个周末聚到一起然后想出了一个很酷的JavaScript特性,那么我们就和W3C一样了。如果我们确定可以让Mozilla、Apple、Microsoft和Opera实现这个特性,那么我们就已经创建了一个新的标准了——和W3C一样。没有一个官方的标志或印章可以让一些东西成为标准,它只是由两个或更多浏览器来实现的。

W3C在创建标准上曾经很传统的不好。它们真正擅长的是文档化和标准化已经在浏览器中实现的东西。这样导致了HTML 4 和DOM 1的创建大部分是基于在IE 4中的创新。是的,同学们,微软在创建这些标准方面是比其它任何浏览器都更有影响力的,因为它们不断前进和创新而等不及有人告诉它们已经好了。

事实上,微软的很多创新都已经成为它们自己的标准,比如innerHTML 属性,XMLHttpRequest 对象,通过designMode的富文本编辑。没有浏览器敢不支持这些;这使它们成为了标准。W3C现在正在走一些流程将它们引入到HTML 5 规范XMLHttpRequest规范中。

责骂微软不支持标准似乎变得很流行,但是人们可以说,如果世界上最流行的浏览器不去实现某些东西,它就不会真正的成为标准。保守估计Internet Explorer在全球有80%左右的市场份额(2008年)。也就是说只有20%的互联网用户在使用“兼容标准”的浏览器。当只有市场上20%的用户使用它,它会是一个标准吗?仔细考虑一下吧。

真相是微软只是跟随了互联网中最顽固的企业的领导者:网景(Netscape)。网景是第一个说“我们要做我们想做的”的,然后引入了<blink>标签。历史表明在浏览器厂商开始创新的时候,网络也跟着进步了。微软不是唯一这样做的。Mozilla也实现了不标准的特性,比如XSLTProcessor;Safari 实现了<canvas> 标签;Opera 实现了<event-source> 标签和window.opera 对象。然而没有人抱怨它们做出了自己的东西和创新……只有微软是个坏小子。为什么这样?

正如Alex Russell多次指出的,创新并不在W3C的手中。真正的创新,可以带动互联网发展的创新,需要来自于浏览器厂商。让自由的市场来决定浏览器中最有用的特性然后让W3C去规范它吧。那才是真正的标准。等到伟大的HTML 5规范在2022完成了,不会推动网络向前发展。得让像Alex一样聪明的家伙开发浏览器才行(推动web进步)。

更多精彩内容其他人还在看

CSS配合JavaScript做酷的动态页面效果

  利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
收藏 0 赞 0 分享

WEB标准,Web前端开发工程师必备技术列表

  想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:   通过许多实际项目,
收藏 0 赞 0 分享

用CSS制作Alpha滤镜测试板

alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
收藏 0 赞 0 分享

非常流行的所谓的气泡窗口

普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
收藏 0 赞 0 分享

CSS教程:li和ul标签用法举例

LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
收藏 0 赞 0 分享

CSS教程:CSS中的定位(position)

  使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位
收藏 0 赞 0 分享

CSS教程:盒模型(BOX Model)

  如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
收藏 0 赞 0 分享

无延迟翻滚的图形与CSS混合风格按钮

  在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。   相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
收藏 0 赞 0 分享

css里expression实现界面对象的批量控制

用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
收藏 0 赞 0 分享

CSS教程:水平对齐(text-align)

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。   1.语法   text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
收藏 0 赞 0 分享
查看更多