• Alabama
    In 2002, The phrase “Stars Fell on Alabama” was added to Alabama’s license plates and the familiar “Heart of Dixie” emblem reduced to a much smaller size. (A 1951 law requires Alabama license plates to display the words “Heart of Dixie” within a conventionalized heart shape.)
  • Alaska
    Alaska is called “The Last Frontier”, because of its opportunities and many lightly settled regions, and the “Land of the Midnight Sun”, because the sun shines nearly around the clock during Alaskan summers.
  • Arizona
    Arizona’s most famous nickname “The Grand Canyon State” celebrates its most famous natural feature, the Grand Canyon. Arizona’s other nickname “Copper State” celebrates its fabulous mineral wealth.
  • Arkansas
    Officially known as “The Natural State”, Arkansas is known throughout the country for its natural beauty, clear lakes and streams and abundance of natural wildlife.
  • Connecticut
    Connecticut was designated the “Constitution State” by the General Assembly in 1959. As early as the 19th Century, John Fiske, a popular historian from Connecticut, made the claim that the Fundamental Orders of 1638/39 were the first written constitution in history.
  • Delaware
    “The First State”: Delaware is known by this nickname due to the fact that on December 7, 1787, it became the first of the 13 original states to ratify the U.S. Constitution.
  • Florida
    “Sunshine State” was adopted as the State Nickname by the 1970 Legislature. Previously, official sanction for this nickname could be inferred from the law requiring use of Sunshine State on motor vehicle licenses.”
  • Georgia
    Georgia is known as the “Peach State” because of the growers’ reputation for producing the highest quality fruit. The peach became the official state fruit in 1995.
  • Hawaii
    Hawaii became officially known as the “Aloha State” by a 1959 legislative act. Haw. Rev. Stat. 5-7
  • Illinois
    Abraham Lincoln, the sixteenth president of the United States, is recognized for his noble vision, statesmanship, humanity, and political skill. He is one of the country’s most enduring symbols of democracy. The slogan “Land of Lincoln” certainly describes Illinois well.
  • Michigan
    Another nickname for Michigan is the “Great Lake State.” Michigan’s shores touch four of the five Great Lakes, and Michigan has more than 11,000 inland lakes. In Michigan, you are never more than 6 miles from an inland lake or more than 85 miles from a Great Lake. From 1969 to 1975 and from 1977 to 1983 Michigan’s automobile license plates featured the legend, GREAT LAKE STATE.
  • Minnesota
    Minnesota is known on its license plates as the “Land of 10,000 Lakes,” but Minnesota actually has 12,000 lakes.
  • Mississippi
    The “Magnolia State” is named because of the abundance of magnolia flowers and trees in the state. The magnolia is the official state flower and the official state tree.
  • Missouri
    “Show Me State” A name attributed to Representative Willard Van Diver. It conotates a certain self-deprecating stubbornness and devotion to simple common sense.
  • Nevada
    Called the “Silver State” because of its large silver mine industries. Named as the “Sage State” and the “Sagebrush State” for the wild sage that grows there prolifically.
  • New Mexico
    The words “Land of Enchantment” adorns automobile license plates and is used frequently in state publications to promote tourism.
  • New York
    New York acquired its nickname “Empire State” to recognize its vast wealth and variety of resources.

车牌对许多人来说只是个数字的标志,而美国的车牌却别具一格。美国的车牌是由各州政府发放的,为突出其特色,各州都用本州的象征性图案或宣传词来装饰车牌,以此来表达对自己家乡的热爱,这使人们有机会在方寸之间一览美国50个州的历史文化和风土人情。

牛仔、柑橘都能当图案
美国最早的车牌只有数字,没有图案和宣传词。直到1928年,爱达荷州首开先河,把当地盛产的土豆突出地印在该州的车牌上,并自豪地加注:“闻名于世的土豆”。之后,美国其他各州也纷纷效仿,形成了现在的局面。
美国车牌中的经典之作要算怀俄明州的车牌了。怀俄明州位于美国西部,是代表着美国开拓、奔放、热血精神的牛仔的故乡。由奥斯卡最佳导演李安所执导的电影《断背山》就是以该州为背景。怀俄明州还有世界上第一座国家自然公园黄石公园。在该州的车牌上,黄石公园的美景衬托着豪放不羁的牛仔,风味十足。
南达科他州的拉什莫尔山上雕刻着为美国的独立和发展作出杰出贡献的4位总统的头像。该州的车牌以这独特的一景为标志,看到南达科他州的车牌就会使人想起美国第一任总统华盛顿、《独立宣言》的起草者杰斐逊、奠定20世纪美国基础的罗斯福和领导解放黑奴的林肯。
纽约州最引以为自豪的就是纽约市。早在上个世纪初,人们就把纽约市称为“大苹果”,因为它是世界权力和金钱的象征。纽约州的车牌以纽约市的摩天大楼和著名的尼亚加拉大瀑布为背景。
俄亥俄州和北卡罗来纳州的车牌要凑到一起看才有趣。俄亥俄州的车牌以初升的太阳为背景,标语是:“航空的发祥地”,因为俄亥俄州是发明第一架航空飞行器的怀特兄弟的出生地。而北卡罗来纳州的车牌则以怀特兄弟当年发明的第一架航空飞行器的图案为背景,口号是:“第一次飞行”,因为怀特兄弟1903年是在北卡罗来纳州首次试飞成功的。
美国其他的州都各有自己的独特之处。佛蒙特州自称“绿山之州”,其车牌以鲜艳的绿色为底;缅因州的车牌以松枝和小鸟突显其“度假胜地”的特色;看到高大的仙人掌就知道那一定是亚利桑那州的车牌。佛罗里达州盛产柑橘,佛州的车牌中心就是橙色的柑橘。

车牌也能发泄不满
美国人也没有忘记用车牌来表达自己的不满。华盛顿特区因地缘关系,在国会中没有代表自己特区的议员,它的车牌上就写了一条标语:“没有代表的纳税人”。
美国一些州的车牌也颇具信息时代的特征。2000年,宾夕法尼亚州首次把该州官方网站的网址印到车牌上,随后马里兰等6个州也跟进。印第安纳州新车牌的图案设计则是公布在互联网上,由该州州民投票选出的。

特殊车牌内容必须健康
美国各州也发放一些特殊车牌。此类车牌可加注大学、机构、军队或组织的名称和标志,图案必须经州议会批准通过。特殊车牌也是州政府为一些公益组织筹款的方式,特殊车牌每年要交费,费率依各州规定而不同,收益用于赞助公益组织的项目。这类车牌中最典型的例子要数佛罗里达州为纪念“挑战者”号航天飞机发射而发放的特殊车牌,仅车牌这一项的筹款就高达3000万美元。为保护数量不断减少的大角麋鹿,新罕布什尔州发放过麋鹿车牌,车牌的左上角印着一只麋鹿,以此为该州的动物保护组织筹集资金。
也有一些州规定,车主可自行选择车牌号码或文字。州政府允许个人在标准车牌上选择具有特殊意义的内容,但文字必须健康,经政府部门批准,并支付额外费用。如宾夕法尼亚州的一位车主为纪念在“911”恐怖袭击中丧生的纽约市343名消防队员,把自己的车牌定为“343―NYC”。
一块6英寸宽、12英寸长的车牌承载着丰富多彩、饶有趣味的信息。难怪近些年来收藏旧车牌成了美国人的一种爱好,现在美国的车牌收藏协会已经拥有3000多名会员。

0. 更新日志

  • 2008年04月09日:修正不存在于电话本中号码的存档。修改写文件逻辑,加快速度。另外一些小bug。
  • 2008年04月10日:写成了Windows Form形式,按照提示操作即可。

1. 功能
Symbian系统智能手机系统越跑越慢,其根本原因是存储空间的大量占用,删除所有短信往往可以使得系统速度极大提升,但是辛辛苦苦的短信就再也找不回来了。
这款工具包正是解决此问题。首先用手机端短信导出工具,将短信导出成文件,然后使用存档工具,将短信按照来信时间,分发送人加以整理存档下来。

2. 系统需求:

  • Nokia Symbian S60 3rd
  • Microsoft .NET Framework 2.0

3. 工具说明

  • SMS Export for s60v3 v1.01.sis (手机端短信导出工具)
  • SMSSummary.exe (PC端短信存档工具)

4. 使用说明

使用截图

  • 将手机连接到Nokia PC Suite,安装SMS Export for s60v3 v1.01.sis手机端短信导出工具。
  • 将手机中所有短信移动到”收件箱”中(尤其是个人文件夹中的短信)。
  • 在手机”应用软件”中找到”短信存档”工具,选择存档”收件箱”中所有短信,例如存到存储卡的”Document”目录下。
  • 等待存档完成后,使用Nokia手机浏览器,将刚才存储的短信文件拷贝出来。本例中,将存储卡下”Document”目录下所有形如”20080214-013113.txt”的文件拷贝到本地计算机磁盘,例如”D:\SMS”目录下。
  • 开始-运行-cmd回车,进入命令行,进入”SMSSummary.exe”所在的目录,然后执行”SMSSummary.exe”。格式如下:C:\bin\>SMSSummary.exe D:\SMS
    执行完成后将会告知一共处理多少个存档文件,并且在目标目录(D:\SMS)下生成”Summary”文件夹,其中分发件人存档组织了所有短信。
  • 检查无误后,删除”D:\SMS”目录下除”Summary”文件夹之外的所有txt文件,删除手机中所有短信即可。
  • 注意:每次运行”SMSSummary.exe”将会在现有”Summary”文件夹下续写新的短信,因此当你多次运行时,第二次运行将会跟在第一次的结果之后,因此出现重复。避免此现象,应在执行前手动删除”Summary”文件夹及其下所有文件。

5. 下载

1. Ubuntu
几乎所有Geek都知道Ubuntu名字的含义,下面的介绍谨防你是山顶洞人。Ubuntu.com定义是:“Ubuntu”是一个非洲词语,其含义是“人性地对待他人”,或者“我们是谁决定了我们是什么人”。Ubuntu发行版将Ubuntu精神带到了软件世界。
2. PCLinuxOS
跟前面差不多,三个词组合成一个词,PC+Linux+操作系统(Operating System)。PCLinuxOS拥有一个类似Windows的图形用户界面,努力使得用户迁移到Linux更加容易。因此使用了PC这个词(虽然PC并不是由Windows一家独大,这里有点用词不当)。
3. openSUSE
openSUSE是由Novell和AMD赞助的一个SUSE社区项目。SUSE是“Software- und System-Entwicklung”(软件和系统开发)的德语缩写,但是也有人说这个名字是为了纪念计算机工程师Konrad Zuse。
4. Fedora
Fedora是由Red Hat赞助的社区Linux计划。名字“Fedora”由一种帽子名派生而来,帽子上有Red Hat的logo。
5. Mandriva
这个Linux发行版原本是Mandrake发行版,由MandrakeSoft负责维护,MandrakeSoft在与Hearst Corporation的法律纷争中失去了“Mandrake”这个名字。MandrakeSoft后来收购了Connectiva,结果是产生了合成词“Mandriva”。
6. Sabayon
Sabayon是在Trentino产生的发行版。是意大利语,是一种意大利甜点的名字。Sabayon(或者叫Zabaglione)由蛋黄,糖和甜酒制成。
7. Debian
Debian第一次出现是在1998年由Ian Murdock介绍。Debian这个名字由他的女朋友(现在的妻子)Debra和他的名字Ian混合而成。
8. Damn Small Linux
Damn Small Linux是一款仅有50MB大小的超小型Linux发行版。故名。
9. MEPIS
根据MEPIS的原创者Warren Woodford的介绍,MEPIS一开始没有任何含义,他仅仅是通过一通错误的Skype连接结识了一个朋友,然后很喜欢人家的名字!
10. FreeBSD
FreeBSD确切地说不是一个Linux发行版,它更像是Linux的一个分支,并且在distrowatch上排名11。BSD是由加州大学伯克利分校开发的Unix衍生物,BSD是伯克利软件发行版(Berkeley Software Distribution)的简称。FreeBSD是伯克利发行版的一个免费分支。
11. CentOS
CentOS基于Red Had Enterprise Linux (RHEL),基本含义是社区企业级操作系统(Community Enterprise Operating System)
12. Dreamlinux
Dreamlinux是基于Debian的巴西Linux发行版,类似于苹果OS X。我并不相信这个名字背后有个原因,只是简单的把梦和Linux加在一起,我想说明原意,对不起~
13. Puppy Linux
Puppy Linux是一个小型的live CD发行版,致力于易用性。这个版本由于叫做“Puppy”带来了福音。
14. Kubuntu
大概只是KDE + Ubuntu = Kubuntu。
15. Zenwalk
这个难死我了。浏览他们的网站时,我被告知“ever tried zen computing?”,所以Zen这部分是可以解释的,但是walk呢?logo是个海豚?海豚是walk?LOL。当我给JP Guillemin,这个版本的创建者发邮件,问他怎么解释的时候,他的回答同样费解。
Hi,Zenwalk是在发音(和含义)上与Nextstep类似,这个著名的OS由Steve Job在被苹果炒掉之后所创建。
Cheers。
16. Slackware
Slackware由Patrick Volkerding创建,Slackware本是一个私人项目,为了防止它成为一个正统的发行版,Patrick给它起名为“slack”。这里的slack引自Church of SubGenius(谢谢那些帮我指正的人)。
17. Knoppix
Knoppix是一个Debian的live CD版本,由Klaus Knopper开发,由他的名字命名。
18. Gentoo
Gentoo是一个源代码基础的发行版,含义是所有东西都平等地编译,使得其速度增快。这个特点也促使了它改名成为Gentoo(原来是叫Enoch),词义是游泳速度最快的企鹅。对了,我甚至说服我的一个朋友给她的猫起名“Gentoo”,多么可爱啊~
19. Slax
Slax是基于Slackware的live CD版本,故名。没有太多特殊的。继续。
20. Sidux
Sidux是基于Debian的不稳定分支,codename为“Sid”的版本而来的发行版,“Sid”得名于Toy Story中的Sid Phillips一角色,经常破坏她妹妹的玩具。你看,Geek生来就有幽默感。
21. Ubuntu Studio
Ubuntu Studio只是一个特殊的Ubuntu衍生版本,用于通用多媒体制作。
22. PC-BSD
PC-BSD是一个BSD分支的发行版。它的目标是使用图形化安装程序使得其易于安装,默认使用KDE使得其容易且立即可用,预装图形化用户界面,因此加入了PC前缀。
23. Xubuntu
这些Ubuntu衍生版本都有什么毛病?Xubuntu = XFCE + Ubuntu。下一个!
24. Foresight
Foresight是一个使用Conary为其包管理器的Linux发行版,它支持滚动升级,而不是像一般发行版一样每年发布两个大版本。例如,当妖精 1.0版将在下一个月内发布的时候,Foresight用户将会在一周之内得到它,但是Ubuntu用户则必须等到十月份(感谢来自Foresight IRC频道的pcutler的解释)。
不管如何,有了Conary,Foresight可用立刻获取更新,不然你就要等另一个发行版本,很有格调。
25. DesktopBSD
网站上说:“DesktopBSD目标是成为一个稳定强大的桌面用户操作系统。”
26. Red Hat
这个名字有一个很有意思的故事。我留着让Red Hat合伙创建人Bob Young来解释。
27. OpenGEU
OpenGEU本来叫做Geubuntu,是一个基于Ubuntu的发行版,使用了GNOME和Enlightenment作为窗口控制器,字母“G”和“E”就是他们的组合。但是由于某些法律原因,改名成了OpenGEU。
28. Elive
这个版本同样是一个基于Debian的Live CD发行版本,使用Enlightenment作为窗口控制器。
29. Freespire
2005年8月的时候,偶然之间,基于Linspire源码的Live CD发行版来到了网上。不久就成了独立的发行版。Linspire同样有一个很有意思的故事在背后。Linspire开始叫做“Lindows”,但是一些微软法律部门的坏小子认定“Lindows”侵犯了他们的“Windows”,决定诉诸法律。微软的案子并没有在法庭上解决,于是微软决定付给Lindows两千万美元,让它改名为Linspire。
30. Frugalware
我找不到任何记录下来的原因。但是它有可能取自节俭哲学。根据Wikipedia解释:Frugality出现在信任系统的上下文中的时候,是一个人不信任的哲学,或者深信“专家”知识,常常来源于商业市场及企业集团领域,宣扬最了解经济,物质化或者个人的精神需求。
31. Fluxbuntu
又一个Ubuntu?只是另外一个使用Fluxbox作为窗口管理器的Ubuntu。
32. Xandros
Xandros来源于X Windows和Greek island Andros。
33. TinyME
TinyME是PCLinuxOS的轻量级版本。
34. gOS
gOS是一个高度集成了Google Apps的Ubuntu衍生版,如果你还没猜到,那么可以认为g代表Google,gOS含义“Good OS LLC”,是这个发行版支持公司的名字(感谢来自stumbleupon的konradc指出这一点)。
35. Backtrack
Backtrack是一个包含大量安全和分析工具的,用于安全测试和渗透检测的发行版。它的名字源于这样一个事实:“反跟踪”入侵者。

和你同坐一桌的,是几个设计师、一个艺术指导以及一个创新指导。大屏幕上播放着你们需要集体评价的一份设计。这将是你们第一次认识原始概念的时候。随着设计稿被一个个翻过,评论也一点点多来。

一个常见的短语是:细节之处见设计。唯有当一份设计给予某些细节,很多情况下是“那些不对的地方”,足够的重视,才能使得这份设计从”几乎合乎要求“到”合乎要求“,甚至超越要求。

我参加了一个会议,在这个会议上,设计师们都是第一次展示自己的设计,参加会议的设计师在屏幕上展示一副原型,他们通常认为这个原型就能达到完成的90%到100%。但是对于那些追求细节的设计师来说,这份作品只算达到要求的50%到70%。你能看到那些基础工作,并且感觉到那种最终的设计就在你面前,但是同时,你也知道,这并不是完成的作品。

拥抱细节,其最终目的是让你能够审慎地思考,并且在第一轮就尽最大努力拿出你最好的设计。本质上说,你的作品随时能够演示给最终客户。那么,如何才能判断某个设计100%符合要求?你需要达到完美,去除客户脑中所有的疑问。设计师感到匆忙的原因大家都知道:你有一个最终期限,你有压力。但是如果你真正在乎你的作品和你的思想,你会自觉加班加点工作,也许会工作到夜里很晚,我们都曾经这样,然后你知道这样的努力会是你的作品绽放光芒。你知道那种感觉,每当你想的时候都会出现的感觉,”噢,我早就知道我应该试试那个。“为什么第一次的时候没有想到?不要非要等到别人来审查你的设计的时候,你才会想起那些你早已想到的灵感。

每个设计师都有一个装满小技巧的工具包,但是我必须强调的是,追求完美的审慎的眼光,在创作的时候与那些工具同样重要。

这里是一个能帮助你的站点完成完成完成的检查列表,不要留下一小块没用翻过来的石头,不要留下关于作品的一点点疑问,让它绽放光芒。

实验

我不能在第一次内部设计讨论的时候就拿出成熟的作品是很正常的。我通常用一些”素描“体现设计。一个这一次不工作的导航栏或者logo,下一次也许就能工作了。这就是所谓的”美丽的谎言“,在其他环境里安插某些元素,能够创造可能性。仅仅是抛些想法到讨论会上,而不是成为设计阻碍,看看会导致什么。起步往往就是完成的一半。

此外,不要害怕返工。如果一个东西达不到效果,放弃并抛弃它。如果你觉得某个导航条太麻烦了,记住你怎么做出来的,然后在下一个设计中应用这些方法。目标是精炼,一遍又一遍。

选择

设计中经常要做很多选择,包括类型到颜色,到全站风格的所有事情。某些时候,我喜欢把所有的想法都投入到设计中,看看组合在一起会是什么样的效果,某些时候我则喜欢从最简单开始。努力去做那些明智、简单的决定。如果做一件事情的时候,有一个更简单的实现方法,选择它。复杂的选择会使客户感觉繁复且不得人心,除非你能让复杂的东西看起来是简洁的。

保持一致

一旦你做了决定,坚持到底。如果你决定在侧边栏中用10像素隔离各个元素,却在更大的文本框里用了15像素,注意排版反映了这项决定。设计的时候坚持记笔记,这些笔记将会构成风格指南的基础部分。持续地表明态度,并且表示出你完全的理解,然后做出明确的决定。一致性应该是透明的。

完美性

完成你的设计。不要漏掉一个底栏或者别的一项细节。不要说,”这个元素将在后面实现,我现在没有时间“。创造时间。不要给别人攻击你的设计的机会,哪怕在一点点细节上,因为这往往会淹没了设计的其他大部分工作。细节体现了你的努力。创新指导和艺术指导们,尤其是客户,都会对这些细节很在意,所以,保证你的设计中重视了这些细节。

挺近,远离和退出:保持平衡

在做设计的时候,有时候退一步审视你的设计是必要的——哪怕是只有午饭时间和一刻钟休息的时候。做点别的事情。然后回来重新审视你的设计。注意你的第一印象。你的第一反应往往会和那些真正是第一次看到作品的人一样。记录笔记,然后根据这些印象对你的作品进行修订和更改。忽视某些元素有多么地”酷“和”格调“,如果它不能对你的设计产生正面效应,扔掉它试试别的吧。总是退一步重新审视。

自我批评

如果你对你最近工作的团队很熟悉,或者熟悉你的客户和客户的需求,像审视一个快完成的作品一样审视你的作品,想想那些可能成为问题的部分吧。对你所作的决定准备一份坚实的答案。

简单的复杂:缺少就是多余

当我们讨论”缺少就是多余“的时候,我们通常说很多事情。例如,有些时候设计会需要缩小比例。它包含了太多元素。或者一个设计有如此多的颜色,直到把自己活活憋死。当做细节性的工作时,”缺少就是多余“是关于留下那些仅仅必要的东西,把它们变成同质的。让复杂性变得简单,一个非常复杂的设计往往是最没用的。一个设计应该是实用的、简单的和简单直接的,让复杂通过简洁性展示它的光芒。

困扰是健康的

如果我觉得一个导航条或者flash照片控件怪怪的,我会耐心的坐在那里,一点点调整,直到我找到某个何时的。设计是你自己给自己出的一道谜题,你有所有解题需要的钥匙,但是如何使用它们,就是你需要决定的了。完美不是你能够努力追求的事情,而靠近完美则不然。

我发现我会在一天之内的某些很奇怪的时候想起设计——洗澡的时候,做饭的时候,或者走过街角的商店的时候。小巧的,安静的瞬间往往成为我解决问题的突破点。这些时候往往是我想到解决方案的时候。这些时间可能无法付工资,但是却是你在真正下手做某个设计之前很好的练习时间。我并不经常用铅笔和纸画草图,我喜欢让一个设计在出现在屏幕上之前,首先我的思想中渗透出来。我想象着它看起来的感觉,和所有的细节。我品味那些细节。

细节工作并不简单。它需要花时间,和想象力。但是,却是一个很好的锻炼——它能够让你具备一双审慎的眼光,将来可能会帮助你和你下属的设计师。品味细节,让你的设计变得完美无缺。

原文:Design is in the Details by Naz Hamid

进步总是有代价的。在web浏览器方面,用户要承受开发者由于对开发工具的滥用和任何针对用户所使用的浏览器的假定而带来的代价(尤其是假定成了Internet Explorer, IE)。当那个被假定的浏览器发布了新的版本,修正了以前的bug,或者改变的某个特性的渲染方式(或者引进了新的特性)以及改变了某种行为,站点就会因此而崩溃,而我们的客户、经理和用户会感到很失望。

我们可以用几个小时的时间来解释为什么我们的站点崩溃了,但是并不比一开始就避免它崩溃来的好。

一些背景知识

基于带有在CSS支持上有重大改进的Internet Explorer 7发布的冲劲,IE开发组开始着手为IE8制作一个全新的渲染引擎——一个可以尽可能多地遵循CSS 2.1标准的引擎。他们努力工作的一个极致表现是正确地渲染了Acid2测试。对于那些关注者来说,这意味着IE在不久的将来将生成出内容和数据URL,永久地放弃hasLayout,这一点已经得到确认。这一点将会使得它的渲染与同样通过Acid2测试的其他浏览器,如Safari, iCab, Konqueror和Opera,到同一起跑线上。(Firefox 3同样也通过了Acid2,但到撰写此文时并未发布。)

在开发新的渲染引擎过程中,IE开发组对IE 7的反馈很重视。一些标准的狂热者甚至一些微软fans都认为,在IE 7中对bug的修正和对CSS的支持增强方面,开发组做的并不够。但是数量更多的开发者则抱怨,他们原本看起来很好的网站,却在IE 7中不能正确渲染。在他的博客中,标准拥护者Roger Johanssen提出了三个导致错误的原因,鉴于他们对于支持标准的迫切要求,IE开发组发现了第四个原因:DOCTYPE开关,一个开启现代CSS布局核心的技术,因为保证兼容性的缘故,存在着致命地瑕疵。

DOCTYPE开关是坏的

早在1988年,Todd Fahrner就发明了一种能够使浏览器使用两套渲染模式的技巧:一种按照开发者的要求遵循标准,另一种则是为其他人准备的。这个概念非常简洁。当一个客户端遇到一个包含完整遵循了当前HTML标准(例如,HTML 2.0不会省略它)的DOCTYPE声明的文档时,它将假定作者知道她自己在做什么,然后使用遵循标准模式来渲染页面(布局元素使用W3C提倡的盒模型)。但是如果不包含DOCTYPE或者包含了一个不标准的DOCTYPE时,文档将会按照一种“奇异”模式进行渲染,例如,布局元素使用IE 5.x/Windows下的非标准的盒模型进行渲染。

这个概念于两年后首次应用于IE5/MAC平台上,并很快被其它浏览器制造商采用。追随标准的开发者们为了使网页通过标准验证,早已经将一个DOCTYPE包含在他们的网页中,因此浏览器根据这个特性来渲染页面,不会造成多余的代价。那些没有明确的标准化概念的开发者则发现,他们写的页面被浏览器特殊对待,因为他们自己以及他们使用的开发工具,都没能够插入正确的DOCTYPE

不幸的是,两个关键性因素,共同导致了DOCTYPE成为了判断标准的标准:

  1. 由于A List Apart和The Web Standards Project的鼓励,由远见的开发者和开发工具开始在他们编写和生成的标记语言中插入合法、完整的DOCTYPE
  2. IE6的渲染行为已经有五年没有改变,导致很多开发者以为它的渲染行为是正确的,而且不太可能变化。

两个原因合起来共同导致了DOCTYPE被破坏,因为它有一个致命的缺点,它认为当你使用了DOCTYPE的时候,就意味着当它向标准靠拢的时候,你要为你自己的行为负责,因为你知道你自己是在做什么,并且希望渲染效果越精确越好。我们怎么知道渲染会失效?当IE7推出的时候,站点就惨不忍睹了。

当然,如Roger指出的那样,崩溃的站点中是因为它们使用了IE6特定的CSS技巧(hacks)。但是更多的灾难是由于它们的开发者仅仅在IE6中检查网站的效果——或者仅仅想关注一下站点在IE6下看起来是什么样子的,因为他们仅仅在一个具备相同浏览器的环境中部署站点(比如,企业的内部局域网内)。当然,你可以耸耸肩,说既然IE6的渲染错误是已经被很好地整理过的,这些开发者可以更了解这些错误,但是,这样的话,你就忽略了其实很多开发者根本不曾明确地选择“标准模式”这个事实,或者根本就不知道有这么个模式的存在。

Chris Wilson,Internet Explorer的平台架构师,经常提到说,IE开发过程中的一条核心原则是,IE开发组做出的任何一个决定,不能“破坏现有网站”。遗憾的是,IE7恰恰破坏了相当一部分开发者的网站。为了避免同样的错误再次发生,Microsoft向The Web Standards Project(我是其会员之一)和几个其他的追求标准的开发者求助,请他们提供一个更好的方法,能够允许开发者“适应到”符合标准的开发上来。这个目标就是寻求一种方法,能够比DOCTYPE更清楚,并且能够被所有浏览器所实现,而不仅仅是IE。

美好的未来

在去年的SXSW上,我非常有幸地看到New York Public Library’s Carrie Bickner制(她正好是ALA的作者的妻子,Jeffrey Zeldman)作的一个绝好的发光二极管标语,标语写,“保护我们的数字遗产和私人收藏”,探讨的是当图书馆和私人当试图保留电子存档时遇到的问题。大部分的问题是文件格式和应用程序的问题:例如,Microsoft Office 2007,不能可靠地渲染一个Word 1.0文档,而大部分人一开始就认为它应该能够正常显示。这个标语引我深思,网络在创作力的推动下是如何改变的,以及网络在标准推行的过程中,将会如何继续这个变化。

作为一个web标准的支持者,我希望看到浏览器在不停地加进新的特性的同时,能够继续增强对标准的实现,但是同时我认为,浏览器应该保护那些我们已经花了这么多努力——基于表格的布局等,做成的网站。当然,很多从“时间机器”里出来的因为DOCTYPE对它们的良好保护,不会出现错误,但是,如果一个网站是基于IE6所谓的“标准”模型建设的呢?我们已经看到,很多这种情况,IE7是不会正确地渲染它们的。这是不是意味着我们要保留一个IE6,以便当我们不能按照作者意图浏览这些网站的时候用?这恰恰是很多图书馆为了能够浏览老的文件所做的事情。IE8即将诞生,我们面对着同样的潜在问题,就是那些按照IE7渲染引擎编写的文档。如何解决?

原文:Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8,Aaron Gustafson