番茄色 VS #FF6347——CSS颜色名称的悲喜剧历史

灵感产生了诸如“柠檬绸色”和“丽贝卡紫”等丰富的颜色

CSS中4级颜色模块的颜色命名部分——层叠样式表语言中最新的颜色值和属性——是141种标准颜色。每种颜色都有名字,所以除了必有的“黑色”和“白色”之外还有 “番木色”,一种温暖的橘色;“柠檬绸色”,一种淡淡的奶黄色;以及“实木色”,一种可能会在导游短裤中出现的颜色。

乍一看,这些名字看起来好梦幻,甜蜜而又充满了想象力。如此抽象的名字源于何处,为何它们会成为编程这样严谨有序的工作的一部分?

问题的答案源于19世纪80年代的马萨诸塞州。最初,颜色是X Window 系统 (X)的产物,这是麻省理工学院在1984年发布的一种图形用户界面(GUI)。1986年6月,被调到DEV VT240系列终端的GUI的第一份颜色列表,附带了X的第十版本第三版本(X10R3)。它包括69个基本颜色,以及138项在不同情况下对于颜色名称的解释(例如,用带间距的小写字母注明“dark red”与驼峰式的大小写如“DarkRed”)。

1988年,他们发布的X11R2增加了三种颜色,包括相同的“gray”和“grey”。根据Austin总部的开发人员Alex Sexton在去年的一个JavaScript会议上关于颜色的讨论,他发现惠普的程序员不记得正确的单词拼写(原本是一个“a”)。加上这两个名字是为了防止错误发生。

由Paul Raveling开发的最具有实际意义的版本是1989年发布的X11R4。这次的更新首次加入一系列明亮中性色调,并且这是对于Raveling同事关于色彩保真度的抱怨的回应。(在80年代,因为机器供应商的缘故,不同的显示器之间颜色会有很大差异。似乎是为了说明这一点,一个特别困惑的员工看着眼前的文本文件说:“这是小麦色???!!!”)在这个版本中,程序员会看到“番木色”和“柠檬绸色,”以及其他具有优雅名字的颜色如“杏仁色”和“桃红色。”

Raveling的这些颜色名称均来自(现已不存在的)叫Sinclair Paints的涂料公司,这并不是什么意料之外的事。这是一个武断的举动;然而没有收到由发布网页色彩性能标准的美国国家标准协会(ANSI)的制裁,拉夫林决定自行其是。他校准了他自己的惠普显示器的颜色。“ANSI和ANSI标准真是疯子,”他抱怨道。

screen-shot-2015-10-11-at-3-47-46-pm

上图颜色包含于John C. Thomas的RGB数据库中。Thomas加入了一些醒目的颜色,并配上Crayola中的颜色名称。

screen-shot-2015-10-11-at-3-47-56-pm

上图的颜色包含于Paul Raveling的RBG数据库中。 Raveling增加了一系列偏白的颜色并使用Sinclair Paints里的颜色名称。

这年的晚些时候,多亏了程序员John C. Thomas,X11获得一套大胆的颜色。 Raveling通过更新调整好的色调来减轻用户的疑惑不久, Thomas就在1989年提出了来自其同事Bruce Schuchardt的书面异议:

“我依然震惊和恐惧于RGB数据库的默认颜色。里面的‘粉色’特别像那些呕吐了几个小时而生无可恋的人的肤色。”

Thomas也赞成。出于对非统一显示的不满,他开始觉得使颜色名称标准化是件徒劳的事。作为回应,他在一封电子邮件中表示,他“拿着一盒72色的绘儿乐蜡笔坐了一晚上,这些蜡笔的颜色名称是最直白的”。这便诞生了“碧绿色”,“淡紫色”,以及“粉橙色”等等。

到2001年为止,万维网联盟(W3C)发表了第一个CSS 3颜色模块的工作草案,其中就包括了这些颜色。随着技术水平的不断提升,这些颜色已经不再使用,然而W3C声称其目的是“编纂记录当前的实践活动。”由于所有浏览器支持这些颜色,因此,W3C已经使用它们做兼容性测试。将这些颜色纳入到CSS中,进而,可以防止网站崩溃。

“这就像向后兼容一样。他们认为,‘我们’是无意间这样做的,所以我们不妨别打破它,” Sexton告诉Ars。

然而这样起到了反效果。颜色数据库已经被很多想法不同的程序员弄得混乱不堪,致使一些人反映其无法存在于CSS中。有人则批评其颜色命名方案:“暗灰色”比“灰色”亮;有“暗紫红色”却没有“紫红色”;有“浅金黄色”却没有对应的“金黄色。“总共17个颜色有与之对应的深色,但只有13种有其对应的浅色。颜色分布也不均匀,偏向红色和绿色而忽视了蓝色。

最强烈的谴责也许是来自于2002年一个叫Steven Pemberton的程序员写的电子邮件:“X11的颜色名称本来就让人厌恶不该存在的,然而将它们纳入CSS中却是CSS优秀设计中的缺陷。说X11颜色系列及其命名是一种‘设计’真是侮辱了‘设计’这个词。它只是一堆废物。”

另一个争论的焦点则是文化排斥。某些区域中心化的名字让一部分程序员感到不快,如“宝蓝色”和暗示种族主义的“纳瓦白色”(源于辛克莱涂料公司)以及“印度红”(源于绘儿乐蜡笔,虽然已因会出现同样的问题而被重新命名)。其他人则认为只用英文命名颜色让人感觉不亲切。

”英语并不是我的母语。你可以想象一下我第一次看到亮灰色或番木色的样子,” Daniel Glazman告诉Ars,Glazman是CSS工作组的联合主席。

表面看来,这些影响本是可以避免的。在上世纪80年代,X系统的程序员已经可以像如今很多开发商一样选择定义颜色的方式:用一个十六进制值(又名hex值,例如,# FFFF00)或着RGB颜色代码(例如,255255,0)来表示。这些方式的选择范围更广并且精确性更高,他们基于图示的,客观的,全局清晰的系统。为什么不在最开始时就使用它们?

“几乎没有人喜欢使用数字值已经成为共识。人们不想把F5B作为一个特定的颜色。使用名字会更自然,” Jim Fulton说,他在麻省理工学院读书时也负责X系统的开发以及Raveling和 Thomas的文件管理。然而,他承认,“并不是每一种想法都可行。”

screen-shot-2015-10-11-at-3-47-17-pm

一个让人意想不到的灵感来源。。。。。。

 

screen-shot-2015-10-11-at-3-47-29-pm

看,这是141种CSS标准颜色其中的140种。(缺少:rebecca purple, #663399)

然而,在2014年,一个意想不到的事情为这份颜色列表增加了一丝光亮:加入了一种新的颜色。“丽贝卡紫”,是为纪念受人尊敬的程序员和CSS的作者Eric Meyer的女儿Rebecca Meyer而增加。丽贝卡死于脑癌,享年六岁;而颜色(# 663399)表示的是她最喜欢的颜色。(少数开发人员反对这样做,他们无情冷漠地保持原有的标准。他们被看作是吝啬鬼。)

然而,普遍的共识是,这些颜色的实用性太低;它们的存在是最理想的占位符(当你需要快速获取一个颜色时,“tomato” 比“# ff6347”更容易打出来),这是对于初学者水平的设计项目而言,或着也可作为一个笑柄。

“我认为这些颜色似乎已经迁移到CSS。我只是笑而不语,”Fulton告诉Ars。“我认为如果有人去看榜单前100或前1000位的网站,看看颜色是如何被分类的,我敢打赌,你仍会发现“白色”或“黑色”颜色名称的使用率几乎为零。

“如果我要举例来向人们演示如何使用编辑器或框架,我会用如#C0FFEE或# bada55的十六进制值。用#C0FFEE与用‘papaya whip’的效果是一样的,” Sexton补充道。

是否应该抛弃颜色的命名标准,以避免收到来自开发社区的一系列饱含愤怒的邮件和争论呢?根据Fulton的想法,有可能。然后,正如上世纪80年代的程序员们探索显示颜色的图形用户界面的未知领域一样,自然而然他们也会利用自己熟知的方法进行探索。

“在那时,我们正在探索的,从某些角度来看,是非常图像化的家庭计算机产业的原始的部分,”他说。“尤其对于彩色设备而言,这是最原始的。”

1 1 收藏 评论

关于作者:3055

= ̄ω ̄= 个人主页 · 我的文章 · 10 ·   

可能感兴趣的话题



直接登录
跳到底部
返回顶部