4.6
CSS布局的出现
CSS1规范在1966年被建立,同时也结束了极富表现力的HTML,将它们与网站包含的数据分离开来。在2000年,所有的主流浏览器都完全具有合适显示纯CSS布局的能力。但是只要有一部分访客仍固执地使用4.0和更老的浏览器,设计师和开发者就会对采用CSS设计感到犹豫。因此必须做一些事情,让大部分的设计师与开发者感到Web标准是“安全”的。网页标准组织WaSP决定采用“游击策略”,这是必需的。
4.6.1
浏览器向标准升级之战
2001年2月,Web标准组织发起了“浏览器向标准兼容的升级战役”活动(www.Webstandards.org/act/campaign/buc/)。就像它的名字建议的一样,活动是想要浏览者使用新的更符合标准的浏览器,同时也鼓励了设计师使用Web标准代替HTML私有代码。
在一些情况下,活动鼓励开发者们行动起来支持标准,就当他们全部的用户已经使用且仅使用标准浏览器。在页面的<head>区中嵌入的<I>javascript</I>代码可以测试浏览器对DOM解析。如果浏览器能“解释”DOM,浏览器就能显示这个页面;否则访问者将会跳到一个他自己的浏览器可以解释的页面上。
网页会建议用户升级他们的浏览器,比如说升级到最新版本的IE、Netscape、Opera或其他合适的浏览器。同时,网页还会告诉用户升级浏览器能够改善他的网络体验。
与“本页面推荐使用XXX浏览器”不同的是,WaSP的浏览器向标准升级战役是制造商没有想到的。只要这个浏览器遵循标准,我们才不关心你下载使用哪种浏览器。
这个强有力的技术一开始只推荐给那些能正确使用CSS布局和DOM的网站,并且仅仅推荐给非营利性和非正式网站,因为它们可以承担采用这种方法的风险。我们鼓励大多数设计师和开发者建立“浏览器升级”页面,并定制他们的访客的需求;这些技术仅仅适用于有效的、合乎标准的网站。采取这样的步骤,需要谨慎地衡量其有利和不利的方面。
浏览器升级的使用和滥用
哎!一些使用这个强有力的技术的偷懒的开发者却时常将访问者摒弃在不十分兼容标准的网站之外。更加伤害用户的是,他们始终将用户转送到WaSP那里,而非创建他们自己相应的升级页面。你可以预料到,那些想尝试一下标准兼容的浏览器的用户更加失望了。
举例,下面这个拉拉队队长的宣传站点Raiderettes.com,如图4.9所示,它是参加Web标准组织的“浏览器升级战役”活动的一个站点,是一个漂亮的网站,但是如果尝试验证它的代码却产生如下报告(
http://validator.w3. org/):
图4.9Raiderettes.com、Oakland Raider拉拉队的官方网站(www.raidere- ttes.com),看看在结合Web标准支持方面做了些什么
致命错误:没有文档类型声明,将无法确认解析。不能处理这个文档,因为它使用了一个无法识别的公共标记。)
与其他一些商业网站一样,Raiderettes.com也使用了WaSP的“浏览器弹回”(browser- bouncing)代码。这并非是标准服务,仅仅是一种拒绝那些不能处理DHTML菜单的浏览器的简单办法。不用说,Web标准组织收到许多来自激素分泌过剩的男人的邮件,他们想看美女图片而不是阅读CSS和ECMAScript。
友好、温和的升级方式
除了上述的一些例子外,这项活动还是成功地鼓励了大多数设计师和开发者尝试标准化。同时因为销售压力而引起商业公司的注意力,提高了他们对标准化的认知。同时,它说服了用户下载那些兼容标准的浏览器。
虽然因为它那些奇怪的浏览器模块使这次浏览器升级活动声名狼藉,但这是从多层次上来努力提供一个用户友好界面的策略,做得越好压力就越小。为了支持重新启动该项活动,并证明它更具用户友好性的一面,A List Apart(www. alistapart.com)同时使用CSS排版和有效的HTML(很快地通向XHTML)来重新设计,如在第2章中描述的所示。
为了示范活动的适应性,ALA尽量避免排斥任何访问者,取而代之的是,网站对那些不兼容标准的浏览器只是隐藏了排版布局。使用IE5+、Netscape6、Opera 5+和其他具有相同能力的浏览器的读者能够同时看到内容及其排版。而那些使用旧的浏览器的用户,只能看到内容而没有排版设计。使用不兼容标准浏览器的用户同样可以看到一个“浏览器升级”的提示,而这个提示对于版本较高的浏览器来说是隐藏的。标准仍然在被推广,但每个访问用户也都是受欢迎的。
为了不损害设计师的兴趣,ALA宣称了一种用户更好的方法。如图4.10和图4.11所示。
图4.10“告别老式浏览器”,这是ALA宣言。设计师们将挑战使用CSS排版布局和使用DOM实现行为,并且使代码就是代码,而不是迫使HTML来做排版的工作(www. alistapart.com/stories/ tohell/)
图4.11ALA第99期文章中的浏览器升级活动同时出现在2001年2月(www.alistapart.com/sto-ries/99/)
ALA向它的每周70 000的浏览者宣传,让他们停止为不使用标准找借口,并开始在他们的网站上结合标准。在Web会议(由CSS排版)的草案上纂写了这样的序言:
“在6个月,一年或者最多两年,所有的网站都将采用表现层和结构层分离的Web标准设计(或者他们都由Flash7.0设计)。我们要么看着我们的技术变得落后,要么现在就开始学习基于标准的新技术。
实际上,因为最新版本的IE、Navigator和Opera已经开始支持许多Web标准,如果我们心甘情愿放弃‘向前兼容是一个优点’的观念,那我们就可以停止寻找借口并开始使用这些标准。
在ALA,从第99期发布开始,我们已经这么做了,加入我们吧!”