在CSS中使用十六进制十进制代替RGB颜色值有什么好的理由吗?

从CSS1开始, rgb(255,255,255)表示法已可用。 但#ffffff似乎更受欢迎。

显然它稍微更紧凑。 我知道十六进制与底层字节关系更密切,并且理解在对这些值进行算术运算时会有优势,但这不是您要用CSS做的事情。

颜色值往往是由设计者(比如我)在任何其他地方永远不会遇到十六进制符号的,并且更加熟悉十进制符号,这是在他们使用的应用程序中指定颜色的主要方式 - 事实上,我有遇到了不少人不知道某个给定的十六进制值如何分解为RGB分量,并假定它并不直接与颜色直接相关,如Pantone色彩系统参考(例如PMS432)。

那么,有什么理由不使用小数?


十六进制值更容易从您喜欢的图像编辑器复制和粘贴。

使用Javascript更容易处理RGB值。

(我最喜欢的十六进制颜色值是#EDEDED,我们为参与赛车运动的客户制作的网站的背景颜色为#F1F1F1 :-)

埃德。


值得注意的是,如果您要输入RGBA值,则不支持十六进制符号; 即,你不能用#FFFFFFff来伪造它。 事实上,alpha值必须是介于0.0和1.0之间的数字,包括0.0和1.0。 (看看这个页面的浏览器支持 - 一如既往,IE浏览器在这里是领先的;))

HSL和HSLA颜色支持 - 这是非常设计师友好 - 也提供了与RGB()风格类似的语法。 如果设计师在同一个样式表中使用两种颜色值,他们可能会选择十六进制代码的十进制值以保持一致性。


我认为这是你习惯的。 如果你习惯了HTML,那么你可能会使用HEX,因为它只是在HTML中使用了很多。 如果你是从设计背景,使用Photoshop / Corel / PaintShopPro等,那么你很可能习惯于RGB记法 - 但是,现在很多程序也包含HEX值字段。

如上所述,RGBA可能是符合RGB表示法的一个理由 - 一致性。

尽管如此,我认为这也取决于情景。 如果你对两者都很满意,你可以在它们之间切换: #fffrgb(255,255,255)更容易输入。

另一个问题是为什么人们会说#fff而不是White (假设大多数浏览器都支持这个关键字)。

这都是一个偏好和易读性的问题 - 如果你维护一个巨大的CSS文件,能够查看颜色值并知道它是什么颜色,这是一个很好的优势。 更有利的是使用像LESS或Sass这样的东西来为CSS添加一种可编程性 - 例如允许常量。 所以不要说:

#title { color: #abcdef; }

您可以改为使用LESS进行以下操作:

@base-color: #abcdef;

#title { color: @base-color; }

维护CSS不再是一个问题。

如果您担心浏览器的性能会导致效果,那么这也可能是您选择的另一个因素。

所以总而言之,它归结为:

  • 熟悉
  • 偏爱
  • 可维护性
  • 性能
  • 链接地址: http://www.djcxy.com/p/87553.html

    上一篇: Are there any good reasons for using hex over decimal for RGB colour values in CSS?

    下一篇: Change navbar color in Twitter Bootstrap