CSShexRGBA?
我知道你可以写…
background-color: #ff0000;
如果你想要一些红色的东西
你可以写…
background-color: rgba(255, 0, 0, 0.5);
如果你想要一些红色和半透明的东西。
有没有简单的方法来写hex的部分透明的颜色? 我想要的东西是:
background-color: #ff000088; <--- the 88 is the alpha
… 要么 …
background-color: #ff0000 50%;
我得到所有我的颜色在hex,并不得不将它们全部转换成小数0-255规模是烦人的。
CSS Color Module Level 4 可能会支持4位和8位hexRGBA表示法!
三周前(2014年12月18日), CSS Color Module Level 4编辑器的草案已提交给CSS W3C工作组。 尽pipe在一个非常容易改变的状态下,文档的当前版本意味着在不久的将来,CSS将同时支持4位和8位hexRGBA表示法。
注意:下面的引用有不相关的块被删除,并且在你阅读本文时(如上所述,这是一个编辑的草稿而不是最终的文档),源可能已经被大量修改。
如果事情发生了很大的变化,请留下一个评论,让我知道,所以我可以更新这个答案!
§4.2 。 RGBhex符号:#RRGGBB
<hex-color>
的语法是一个<hash-token>
标记, 其值由3个,4个,6个或8个hex数字组成 。 换句话说,hex颜色被写为散列字符“#”,后面跟着一些数字0-9
或字母af
(字母的大小写无关 –#00ff00
与#00FF00
相同)。8位数字
前6位与6位符号解释相同。 最后一对数字(被解释为hex数字)指定颜色的Alpha通道,其中
00
代表完全透明的颜色,ff
代表完全不透明的颜色。例3
换句话说,#0000ffcc
表示与rgba(0, 0, 100%, 80%)
#0000ffcc
rgba(0, 0, 100%, 80%)
(稍微透明的蓝色)相同的颜色。4位数字
这是8位数表示法的一个较短变体,与3位数表示法相同,“扩展”。 第一个数字被解释为hex数字,指定颜色的红色通道,其中
0
代表最小值,f
代表最大值。 接下来的三位数字分别代表绿色,蓝色和alpha通道。
这对于CSS颜色的未来意味着什么?
这意味着,假设这并没有完全从第4级文档中删除,我们很快就能够在支持颜色的浏览器中以hex格式定义我们的RGBA颜色(或HSLA颜色,如果您是其中之一)模块级别4的语法。
例
elem { background: rgb(0, 0, 0); /* RGB notation (no alpha). */ background: #000; /* 3-digit hexadecimal notation (no alpha). */ background: #000000; /* 6-digit hexadecimal notation (no alpha). */ background: rgba(0, 0, 0, 1.0); /* RGBA notation. */ /* The new 4 and 8-digit hexadecimal notation. */ background: #0000; /* 4-digit hexadecimal notation. */ background: #00000000; /* 8-digit hexadecimal notation. */ }
我什么时候能够在面向客户的产品中使用它?
所有的笑话都放在一边:目前只是2015年的开始,所以在任何浏览器中都不会支持这些function,即使你的产品只是devise用于浏览器的最新版本,任何时候都不会在生产浏览器中看到这个动作。
查看#RRGGBBAA颜色表示法的当前浏览器支持
不过,CSS的工作方式意味着我们今天可以真正开始使用它们! 如果你真的想立即开始使用它们,只要你添加一个回退,任何不支持的浏览器都会忽略新的属性,直到它们被认为是有效的:
figure { margin: 0; padding: 4px; /* Fall back (...to browsers which don't support alpha transparency). */ background: #FEFE7F; color: #3F3FFE; /* Current 'modern' browser support. */ background: rgba(255, 255, 0, 0.5); color: rgba(0, 0, 255, 0.75); /* Fall... foward? */ background: #ffff007F; /* Or, less accurately, #ff08 */ color: #0000ffbe; /* Or #00fc */ }
<figure>Hello, world!</figure>
看到这里http://www.w3.org/TR/css3-color/#rgba-color
这是不可能的,很可能是因为0xFFFFFFFF大于32位整数的最大值
RGB='#ffabcd'; A='0.5'; RGBA='('+parseInt(RGB.substring(1,3),16)+','+parseInt(RGB.substring(3,5),16)+','+parseInt(RGB.substring(5,7),16)+','+A+')';
恐怕这是不可能的。 你知道的rgba
格式是唯一的。
如果您可以使用LESS,则会有淡入淡出function。
@my-opaque-color: #a438ab; @my-semitransparent-color: fade(@my-opaque-color, 50%); background-color:linear-gradient(to right,@my-opaque-color, @my-semitransparent-color); // result: background-color: linear-gradient(to right, #a438ab, rgba(164, 56, 171, 0.5));
Chrome 52+ 支持 alpha hex:
background: #56ff0077;
在发布问题增强后,我find了答案。 抱歉!
MS Excel的帮助!
只需将hex前缀添加到hex颜色值,即可添加与%值具有等效不透明度的Alpha。
(在rbga中,不透明度的百分比如上所述用小数表示)
Opacity % 255 Step 2 digit HEX prefix 0% 0.00 00 5% 12.75 0C 10% 25.50 19 15% 38.25 26 20% 51.00 33 25% 63.75 3F 30% 76.50 4C 35% 89.25 59 40% 102.00 66 45% 114.75 72 50% 127.50 7F 55% 140.25 8C 60% 153.00 99 65% 165.75 A5 70% 178.50 B2 75% 191.25 BF 80% 204.00 CC 85% 216.75 D8 90% 229.50 E5 95% 242.25 F2 100% 255.00 FF
白马王子:
只有Internet Explorer允许ARGB格式的4字节hex颜色,其中A是Alpha通道。 它可以用于渐变filter,例如:
filter : ~"progid:DXImageTransform.Microsoft.Gradient(GradientType=@{dir},startColorstr=@{color1},endColorstr=@{color2})";
其中dir可以是:1(水平)或0(垂直)颜色串可以是hex颜色(#FFAAD3)或argbhex颜色(#88FFAAD3)。
那么,不同的颜色符号是你将不得不学习。
库勒给你一个更好的机会find颜色和多个符号。
hex与RGB没有区别,FF = 255和00 = 0,但这就是你所知道的。 所以在某种程度上,你必须将其可视化。
我使用hex,RGBA和RGB。 除非需要大规模转换,否则通过手动操作可以帮助您记住一些奇怪的100种颜色及其代码。
为了批量转换,写一些像Alarie给出的脚本。 与颜色爆炸。
为什么不使用background-color: #ff0000; opacity: 0.5; filter: alpha(opacity=50); /* in IE */
background-color: #ff0000; opacity: 0.5; filter: alpha(opacity=50); /* in IE */
如果你为一个文本或者一个元素定位一个颜色,这应该会容易得多。