中国式WEB标准
在翻草稿的时候看到了07年9月写的《符合中国国情的WEB标准》,当时只写了一部分,虽然之后一直想继续写完它,不过因为没有找到文件,也就一直放着没写。重新整理了下:
“CSS的精髓是布局,而不是样式,布局是需要缜密的结构分析和设计”——在 CSS8 上看到这段文字,虽然这句话看起来有很大的问题,但却突然让我明白了一件事:我们现在正处在一个怪圈中。(我不是推荐那本书,因为我也没看过,只不过刚好在介绍里看到了上面那段文字。可能这里的“布局”并不只是指页面结构上的布局,而是整站的“规则”,但这已经不是CSS的范畴了。)
从“target事件”中就让我开始正视“WEB标准”在中国所存在的问题,事情是这样的: Twinsen 在群里发起了一个对话,内容是关于“要使用target属性定义是否弹出窗口,还是使用JS遍历文档为a标签加onclick事件来实现弹出新窗口”,这个问题的本质就是要不要用遵守WEB标准。虽然在过渡标准中并不是不能使用target,之所以叫“过渡”,因为不是最终的目的,所以我们应该用严格标准来要求自己,本文讨论的标准是指严格型标准。在标准中不支持target,有一个原因是因为要支持不同的终端,而像手机之类的终端并不支持多窗口,当然也就没有所说的“在新窗口中打开”。现在也有专门为无线终端显示的 WML。
WML(Wireless Markup Language – 无线标记语言)这种描述语言同我们常听说的HTML语言同出一家,都属于XML语言这一大家族。HTML语言写出的内容,我们可以在我们的PC机上用IE 或是Netscape等浏览器进行阅读,而 WML语言写出的文件则是专门用来在手机等的一些无线终端显示屏上显示,供人们阅读的,并且同样也可以向使用者提供人机交互界面,接受使用者输入的查询等信息,然后向使用者返回他所想要获得的最终信息。
XHTML是The Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C于2000年1月26日推荐XML1.0(参考http://www.w3.org/TR/xhtml1)。 XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用 XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTML向XML的过渡。
从上面这段话可以知道: HTML 和 WML 都属于 XML ;HTML和WML是为了在不同终端的浏览器显示内容的标记语言。而 XHTML 是为实现HTML向XML过渡。也就是最终在不同的终端上显示内容的语言是 XML。显然,我们现在正试图把XHTML放到无线终端(还有其它的终端)上去显示,这是我们理解有问题吗?还是那些所谓的“教程”没有说明白呢?
在群(CSS森林:30247792)里讨论“什么是标准?”时提到一个例子:“螺丝钉”。不管你去哪个工具店,只要你说出螺丝钉的型号,就能买到一样的螺丝钉。但大家都知道,并不是所有的螺丝钉都是一个型号的,对于不同的型号,所用的标准也有所不同。当所有的无线终端都支持了XHTML之后,或许可以把PC端的网页显示到无线终端里,但文本阅读器呢?有没发现现在为了追求各浏览器的显示效果一致而对页面使用了很多的hack,却为此浪费了很多的时间成本、性能成本,最终出来的东西也是十分的恶心。这也引起了另一个话题:“所有终端的显示应该是一致的吗?”
hack
利用各浏览器对样式和HTML支持的差异,写针对特定类型、版本浏览器的样式定义。
并不是说其它终端不能显示HTML或XHTML,而是内容,像PC等大显示屏的终端,一次可以显示很多的内容,而这些内容如果完全放到手机终端上显示,可能就有问题啦,像CSS森林在手机终端上打开有时就会因为内容过多而显示不完全。这难道是终端的问题?如果追求显示一致,何不用“表格布局”呢?每个终端都可能有其自身所处的环境、应用等特点。让终端显示一致,的确可以让用户更好的认识所用的服务,但由于终端的不同,可能在操作使用上会有不同,原先适用于PC浏览器的设计对于其它终端就不一定适合了。内容和表现分离,不就是为了在不同的终端显示时可以更方便的改变表现而适应终端“环境”,让内容可以更好的显示出来吗?
说回主题,相信大家都知道“ 禅意花园 ”,它的成功在于只使用了一个HTML结构,所有的表现都是通过CSS去控制。这的确是把“内容和表现”分离的特点最大的表现出来,不知道有没人想过为什么在实际工作中不能像“禅意花园”那样呢?在实际工作中,特别是在国内,很多情况下是页面制作被视觉设计牵着走,页面制作总是想尽方法去实现设计稿的效果,加上UI设计师并不见得懂页面制作,所以基本上在国内“页面不好做”,因为有可能设计师的一个“奇妙的想法”,就得重新写页面结构。
而“禅意花园”最大的特点,在于HTML不能修改(改不到),所以在UI设计上也会迁就结构上的可实现性,即UI设计迁就页面结构(虽然“禅意花园”的结构里加了一些用于表现上的标签,但也不是所有的表现都可以实现)。这才是“表现服务于内容”,表现与内容分离所能带来的便利才能得到体现。
作为较早接触WEB标准并将之应用于实际页面制作中的“小白鼠”之一,一直都相信 WEB标准的前景是一片光明的,虽然现在离“真正的标准”还有很远的距离,没错,正因为没有一个真正的标准,所以才需要。总是会有人提出要统一,但并非所有的提案都是合适并可行的。之所以要叫“中国式WEB标准”,因为W3C的标准并不是很适合中国的国情,像“打开新窗口”、“字号可调”等,相信他们在定这些标准的时候,并没有考虑到中国这个“快速发展中”的国家。所以我想说的是,应该真正认清哪些是适合我们的,而不要盲目的接受。