CSS:为什么 **color:red** 被弃用了?

8

你读了哪一部分的内容认为它已经过时了? - Caspar Kleijne
这份文档:http://www.w3.org/TR/css3-color/说它不是,我认为你在这里犯了一个小阅读错误,这使得你的问题有点不正确 ;) - Caspar Kleijne
1
@Caspar Kleijne:11年前的WCAG建议不要使用命名颜色,但现在已经被CSS3标准化。 - Town
不推荐并不意味着已经废弃。这个问题有点错误,答案也是如此。 - Caspar Kleijne
@Caspar Kleijne 我以为它们被弃用了,因为在 http://www.w3.org/TR/WCAG10-CSS-TECHS/#style-colors 中写有“已弃用示例”。 - Pacerier
2个回答

12
WCAG 10准则中的语言是误导性的-在CSS2CSS3中,命名颜色并未过时。
此外,这个建议没有被包含最新的WCAG指南(2.0)中。
在我看来,WCAG 10中使用“depecrated”的说法实际上应该被替换为“不推荐使用”。即使如此,这个建议的声明目标是“确保前景和背景颜色组合提供足够的对比度...”,但使用RGB无论如何都不能帮助实现这个目标。
没有理由不使用CSS3规范中定义的16种颜色名称。
Color name  Hex rgb     Decimal
black   #000000     0,0,0
silver  #C0C0C0     192,192,192
gray    #808080     128,128,128
white   #FFFFFF     255,255,255
maroon  #800000     128,0,0
red         #FF0000     255,0,0
purple  #800080     128,0,128
fuchsia #FF00FF     255,0,255
green   #008000     0,128,0
lime    #00FF00     0,255,0
olive   #808000     128,128,0
yellow  #FFFF00     255,255,0
navy    #000080     0,0,128
blue    #0000FF     0,0,255
teal    #008080     0,128,128
aqua    #00FFFF     0,255,255

有趣的是,橙色在CSS2规范中可用,但在CSS3规范中不作为基本颜色之一。
更新:SVG 1.0规范在2001年定义了147种其他颜色,并且所有主流浏览器都采用并一致地实现了它们。这些命名颜色现在已包含在CSS3规范中,作为“扩展颜色关键字”,因此它们现在是官方的CSS。
既然这些命名颜色是官方的CSS,我认为使用它们是绝对安全的,您可以向他人推荐它们的使用-实际上,很长一段时间以来一直都是这样。

那么这是否意味着列表之外的任何内容都不建议使用? - Pacerier
@Pacerier - 请看我上面的更新。你绝对可以使用扩展颜色名称。 - Dexter

2

可能是因为浏览器之间的CSS命名颜色不一致。最好使用color: #F00;,因为它在几乎所有浏览器中显示相同,而color: magenta;可能会有很大差异或根本不起作用。


嘿,有人测试过这个吗?我的 color:magenta 在所有浏览器中都能正常工作。 - Pacerier
这并不是重点;大多数颜色应该都能正常工作,但这并不意味着它们一定会。我相信至少对于最流行的浏览器来说,它能够正常工作。 - John Chadwick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接