【问题标题】:css: why is **color:red** deprecated?css:为什么不推荐使用 **color:red**?
【发布时间】:2011-05-05 10:03:11
【问题描述】:

在页面http://www.w3.org/TR/WCAG10-CSS-TECHS/#style-colors 他们说像 color:red 这样的东西已被弃用?但我敢肯定,我见过很多使用这些样式的网站。有谁知道他们被弃用的原因是什么?

【问题讨论】:

  • 你读到了什么部分你认为它已被弃用?
  • 这个文档:w3.org/TR/css3-color 说不是,我认为你在这里犯了一个小错误,这让你的问题有点错误;)
  • @Caspar Kleijne:11 年前的 WCAG 说不要使用命名颜色,但现在它已在 CSS3 中标准化。
  • 不推荐当然不会被弃用。这个问题有点不对劲。答案也是如此。
  • @Caspar Kleijne 我认为它们已被弃用,因为他们在w3.org/TR/WCAG10-CSS-TECHS/#style-colors 中编写了弃用示例

标签: html css colors deprecated


【解决方案1】:

WCAG 10 guidelines 中的语言具有误导性 - CSS2 或 CSS3 中未弃用命名颜色。

此外,latest WCAG Guidelines (2.0) 中不包含推荐。

在我看来,WCAG 10 中depecrated 的使用实际上应该替换为not recommended。即便如此,此建议的既定目标是“确保前景色和背景色组合提供足够的对比度......”,但使用 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 specification 在 2001 年定义了额外的 147 种颜色 - 所有主要浏览器都采用并一致地实施它们。这些命名颜色现在已作为“扩展颜色关键字”包含在 CSS3 specification 中,因此它们现在是官方 CSS。

既然这些命名颜色是官方 CSS,我想说使用它们绝对安全,您可以向其他人推荐使用它们 - 实际上,这种方式已经存在很长时间了。

【讨论】:

  • 这是否意味着不推荐此列表之外的任何内容?
  • @Pacerier - 请参阅上面的更新。您绝对可以使用扩展的颜色名称。
【解决方案2】:

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

【讨论】:

  • 嘿,有人测试过这个吗?我的 color:magenta 在我所有的浏览器中都一样
  • 这不是重点;大多数颜色应该可以正常工作,但这并不意味着它们会。我敢肯定,至少对于最流行的浏览器来说它可以正常工作。
猜你喜欢
  • 2016-02-23
  • 2017-11-04
  • 2011-10-22
  • 2011-04-11
  • 2021-10-12
  • 2012-12-07
  • 2012-05-16
  • 2020-06-29
  • 2014-08-11
相关资源
最近更新 更多