我使用的是:css progress bar
它很棒,我们几乎可以定制每个方面。问题是,我真的很讨厌渐变,但它们都是rgba值。
有谁知道,如何将渐变更改为十六进制值,以便我们可以完成样式。
(我们拥有的)是:
background-color: #74d04c;
/* Webkit background stripes and gradient */
background: -webkit-gradient(linear, 0 0, 44 44, color-stop(0, rgba(255, 255, 255, 0.17)), color-stop(0.25, rgba(255, 255, 255, 0.17)), color-stop(0.26, rgba(255, 255, 255, 0)), color-stop(0.5, rgba(255, 255, 255, 0)), color-stop(0.51, rgba(255, 255, 255, 0.17)), color-stop(0.75, rgba(255, 255, 255, 0.17)), color-stop(0.76, rgba(255, 255, 255, 0)), color-stop(1, rgba(255, 255, 255, 0))), -webkit-gradient(linear, left bottom, left top, color-stop(0, rgba(255, 255, 255, 0)), color-stop(1, rgba(255, 255, 255, 0.35))), #74d04c;
background: -moz-linear-gradient(rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 100%), #74d04c;
-moz-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4), inset 0px -1px 1px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4), inset 0px -1px 1px rgba(0, 0, 0, 0.2);
-o-box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4), inset 0px -1px 1px rgba(0, 0, 0, 0.2);
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4), inset 0px -1px 1px rgba(0, 0, 0, 0.2);
/* Give it a higher contrast outline */
border: 1px solid #4c8932;
我只是不接受rgb(所以想看看我们如何转换为#hex值)
即使是链接也没关系。
干杯
答案 0 :(得分:3)
您的示例使用透明度。用于定义透明颜色的css3规范使用rgba(r,g,b,a)
渐变中有一种替代语法可以使用HEX:
rgba(255, 255, 255, 0.25) => #FFFFFF 25%
请参阅:http://gradients.glrzad.com/
另外,你应该真正检查你“不得rgb”的理由。也许你应该花些时间来研究RGB作为数字色彩中非常重要的概念。
答案 1 :(得分:1)
通常的十六进制表示只是红色,绿色和蓝色值转换为十六进制(基数16),每个字节一个字节。您的255,255,255
将为ffffff
,而0,0,0将为000000
。虽然那些没有显示,但符号使用两个数字,排列为rrggbb,所以(例如)rgb = 1,2,3将转换为010203。
编辑:如果您对命令行工具感到满意(并且可以访问C或C ++编译器),您可能会发现这样的更简单的转换方法:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
if (argc != 4) {
fprintf(stderr, "Usage: cvt_hex r g b");
return EXIT_FAILURE;
}
int r = atoi(argv[1]);
int g = atoi(argv[2]);
int b = atoi(argv[3]);
printf("%2.2x%2.2x%2.2x", r, g, b);
return 0;
}
请注意:这不会在错误检查方面做太多尝试,所以如果(例如)你给它一个大于255的值,它就不会检测或警告你这个问题,只是产生一个结果将无法正常工作。