e10*_*100 59 css rgb hex colors
rgb(255,255,255)自CSS1以来,符号已经可用.但#ffffff似乎更受欢迎.
显然它稍微紧凑一些.我知道十六进制与底层字节关系更密切,并且理解对这些值进行算术会有优势,但这不是你要用CSS做的事情.
颜色值往往是由设计师(比如我自己)发起的,他们在其他任何地方都不会遇到十六进制表示法,并且更熟悉十进制表示法,这是在他们使用的应用程序中指定颜色的主要方式 - 实际上我有遇到了不少人,他们没有意识到给定的十六进制值如何分解为RGB组件,并假设它根本不与颜色直接相关,如Pantone颜色系统参考(例如PMS432).
那么,有什么理由不使用小数?
ede*_*ett 33
十六进制值更容易从您喜欢的图像编辑器中复制和粘贴.
使用Javascript更容易操作RGB值.
(我最喜欢的Hex颜色值是#EDEDED,我们为参与赛车运动的客户制作的网站的背景颜色为#F1F1F1 :-)
埃德.
WCW*_*din 20
值得注意的是,如果要输入RGBA值,则不支持十六进制表示法; 即,你不能用#FFFFFFff伪造它.事实上,alpha值必须是介于0.0和1.0之间的数字.(查看此页面以获取浏览器支持 - 一如既往,IE在这里处于领先地位.;))
HSL和HSLA颜色支持 - 非常设计友好 - 也提供与RGB()风格类似的语法.如果设计人员在同一样式表中使用两种类型的颜色值,他们可能会选择十进制值而非十六进制代码以保持一致性.
我认为这就是你习惯的.如果您已经习惯了HTML,那么您可能会使用HEX,因为它只是在HTML中使用了很多.如果您来自设计背景,使用Photoshop/Corel/PaintShopPro等,那么您可能习惯使用RGB符号 - 尽管如今,很多程序也包含了HEX值字段.
如上所述,RGBA可能是使用RGB符号 - 一致性的原因.
虽然,我认为这也取决于场景.如果您对两者都感到满意,您可能只需在它们之间切换:#fff输入比输入容易得多rgb(255,255,255).
另一个问题是为什么人们会说#fff而不是White(假设大多数浏览器都支持这个关键字).
这一切都是偏好和易读性的问题 - 如果你要维护一个巨大的CSS文件,能够查看颜色值并知道它是什么颜色,这是一个非常好的优势.更有利的是使用像LESS或Sass这样的东西来为CSS添加一种可编程性 - 例如允许常量.所以不要说:
#title { color: #abcdef; }
Run Code Online (Sandbox Code Playgroud)
您可以使用LESS执行以下操作:
@base-color: #abcdef;
#title { color: @base-color; }
Run Code Online (Sandbox Code Playgroud)
维护CSS变得不那么重要了.
如果您担心浏览器的性能会导致其结果,那么这也可能是您选择的另一个因素.
总而言之,它归结为:
正如你所提到的,主要原因可能是紧凑性.#ffffff甚至可以进一步缩短到#fff速记符号.
另一个可能的原因是,通过保存浏览器转换rgb符号的麻烦,可以感觉到性能提升.
我总是使用十六进制,但今天我更喜欢将我的值设置为:
rgb(82, 110, 188)
Run Code Online (Sandbox Code Playgroud)
在我的css文件中,所以每当我想添加不透明度时,我只需要将rgb重命名为rgba并添加不透明度值.优点是我不必在添加不透明度之前将十六进制值转换为rgb:
rgba(82, 110, 188, 0.5)
Run Code Online (Sandbox Code Playgroud)