rgb(255,255,255)
符号已经可用。但#ffffff
似乎更受欢迎。
显然它稍微紧凑一点。我知道hex与底层字节关系更密切,并且理解在对这些值进行算术时会有优势,但这不是你要用CSS做的事情。
颜色值往往是由设计师(比如我自己)发起的,他们在其他任何地方都不会遇到十六进制表示法,并且更熟悉十进制表示法,这是在他们使用的应用程序中指定颜色的主要方式 - 在事实上,我遇到了很多人没有意识到给定的十六进制值如何分解为RGB组件并假设它根本不与颜色直接相关,如Pantone颜色系统参考(例如PMS432)。
那么,有什么理由不使用小数?
答案 0 :(得分:32)
十六进制值更容易从您喜欢的图像编辑器中复制和粘贴。
使用Javascript更容易操作RGB值。
(我最喜欢的Hex颜色值为#EDEDED,我们为参与赛车运动的客户制作的网站背景颜色为#F1F1F1: - )
版
答案 1 :(得分:19)
值得注意的是,如果要输入RGBA值,则不支持十六进制表示法;也就是说,你不能用#FFFFFFff伪造它。事实上,alpha值必须是介于0.0和1.0之间的数字。 (查看this page以获取浏览器支持 - 一如既往,IE在此处领先。;))
HSL和HSLA颜色支持 - 非常设计师友好 - 也提供与RGB()样式类似的语法。如果设计人员在同一样式表中使用这两种类型的颜色值,他们可能会选择十进制值而非十六进制代码以保持一致性。
答案 2 :(得分:8)
我认为这就是你习惯的。如果您已经习惯了HTML,那么您可能会使用HEX,因为它只是在HTML中使用了很多。如果您来自设计背景,使用Photoshop / Corel / PaintShopPro等,那么您可能习惯使用RGB符号 - 尽管如今,很多程序也包含了HEX值字段。
如上所述,RGBA可能是采用RGB符号 - 一致性的原因。
虽然,我认为这也取决于场景。如果您对两者都感到满意,则可以在它们之间切换:#fff
比rgb(255,255,255)
更容易输入。
另一个问题是为什么人们会说#fff
而不是White
(假设大多数浏览器都支持此关键字)。
这都是偏好和易读性的问题 - 如果你要维护一个巨大的CSS文件,能够查看颜色值并知道它是什么颜色,这是一个非常好的优势。更有利的是使用诸如LESS或Sass之类的东西来为CSS添加一种可编程性 - 例如允许常量。所以不要说:
#title { color: #abcdef; }
您可以使用LESS执行以下操作:
@base-color: #abcdef;
#title { color: @base-color; }
维护CSS不再是一个问题。
如果您担心浏览器的性能会导致其结果,那么这也可能是您选择的另一个因素。
总而言之,它归结为:
答案 3 :(得分:6)
传统上,HTML总是使用十六进制颜色,因此已经转移到了CSS中。想想<font color="#ffffff">
答案 4 :(得分:6)
正如你所提到的,主要原因可能是紧凑性。 #ffffff
甚至可以进一步缩短为#fff
速记符号。
另一个可能的原因是,通过保存浏览器转换rgb
表示法的麻烦,可以感觉到性能提升。
答案 5 :(得分:6)
我总是使用十六进制,但今天我更喜欢将我的值设置为:
rgb(82, 110, 188)
在我的css文件中,所以每当我想添加不透明度时,我只需要将rgb重命名为rgba并添加不透明度值。优点是我不必在添加不透明度之前将十六进制值转换为rgb:
rgba(82, 110, 188, 0.5)
答案 6 :(得分:4)
各种事物都会接受单个十六进制值,它们可能有不同的方式输入三个十进制值。还有一个事实是总是 6个字符(或3个,不可否认 - 再加上#),这样可以更容易地扫描它们的列表。
只需添加几个随意的想法...
答案 7 :(得分:4)
CSS是由软件开发人员而非设计师发明的。软件开发人员生活和呼吸十六进制。从我的旧C64时代开始,我仍然可以不假思索地阅读大多数十六进制数字。 A9,有人吗?
答案 8 :(得分:2)
当浏览器解释颜色时,可能会有一点速度。否则,设计背景的某些人可能知道在编写代码时如何从RGB组件中组合颜色,而编程背景中的其他人可能更倾向于使用HEX值。
答案 9 :(得分:1)
没有正当理由,除了个人偏好。
答案 10 :(得分:1)
也许我已经完成了HTML太长时间,但我发现在HEX值中更容易思考。 HTML的许多预定义调色板都巧妙地映射到HEX值。使用缩短的格式还可以为您提供自动的“网络安全”颜色,但在32位彩色显示器时代,这不是一个真正的问题。
答案 11 :(得分:1)
由于历史原因,HEX最常见。
在CSS开发中常见的CSS之前,在HTML标记中指定了颜色,指定颜色的最常用和支持的方法是使用HEX值。
答案 12 :(得分:0)
与 RGB 或 HSL 相比,我一直更喜欢 HEX,因为它更容易让我在设计时阅读。
说到动态编辑,我想使用 RGB,因为可以轻松地在不同颜色之间循环。这在做 CSS 渐变时也有一点帮助。