我的应用程序中有一个颜色选择器,用户可以使用它来选择应用程序输出的某些对象的颜色。颜色选择器输出以RGBA格式选择的颜色。但是,我需要HTML颜色代码。我需要能够在不知道颜色的情况下将RGBA转换为HTML,并在以后将其用作字符串。我该怎么做呢?
答案 0 :(得分:13)
CSS3本身支持RGBA:
div {
background: rgba(200, 54, 54, 0.5);
}
Firefox,Safari,Chrome,IE9和Opera浏览器都支持RGBA。较旧的IE不支持它。
幸运的是,您可以为支持它的浏览器指定RGBA颜色,为不支持它的浏览器指定替代颜色。请查看此link以获取精彩的指南。
以下是两个选项: - 来自链接 -
<强> 1。退回到固定颜色:当不透明度不可用时,允许浏览器回退使用纯色。在
h1 {
color: rgb(127, 127, 127);
color: rgba(0, 0, 0, 0.5); //for modern browsers only
}
<强> 2。回到PNG:如果您在背景颜色上使用透明度(虽然不在边框或文本上),可以回退到使用带有Alpha通道的PNG来获得相同的效果。这不如使用CSS那么灵活,因为您需要为每个透明度级别创建一个新的PNG,但它可以是一个有用的解决方案。
h1 {
background: transparent url(imageName.png);
background: rgba(0, 0, 0, 0.5) none; //for modern browsers only
}
我想说的是你不需要HTML颜色代码,你需要添加css属性rgba
- 用javascript或jquery - 在你拿起颜色后我认为你是完成。
希望它有所帮助。
答案 1 :(得分:2)
如果您正在寻找从rgb(a)到JavaScript的实际转换(您的问题的文本字面要求):
red = green = blue = 255;
hex = '#' +
("0" + (red).toString(16)).slice(-2) +
("0" + (green).toString(16)).slice(-2) +
("0" + (blue).toString(16)).slice(-2);
当然没有alpha等效项,但您可以为旧浏览器支持设置不透明度(和/或浏览器特定的-opacity
值)。