Shi*_*til 457
下面是%到十六进制值的表格Eg对于85%白色,您将使用#D9 FFFFFF.
100% — FF
95% — F2
90% — E6
Run Code Online (Sandbox Code Playgroud)
the*_*ker 181
透明度由alpha通道(AAin #AARRGGBB)控制.最大值(255 dec,FF hex)表示完全不透明.最小值(0 dec,00 hex)表示完全透明.其间的值是半透明的,即颜色与背景颜色混合.
要获得完全透明的颜色,请将alpha设置为零.RR,GG并且BB在这种情况下无关紧要,因为没有颜色可见.这意味着#00FFFFFF("透明白色")与#00F0F8FF("透明AliceBlue")颜色相同.为了简单起见,如果颜色无关紧要,可选择黑色(#00000000)或白色(#00FFFFFF).
在您链接到的表中,您将找到Transparent定义为#00FFFFFF.
小智 5
除了其他答案外,@ Maleta在/sf/answers/1993696211/的评论中没有做任何其他工作,做alpha * 255然后四舍五入为十六进制。这是一个快速转换器http://jsfiddle.net/8ajxdLap/4/
function rgb2hex(rgb) {
var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?((?:[0-9]*[.])?[0-9]+)[\s+]?\)/i);
if (rgbm && rgbm.length === 5) {
return "#" +
('0' + Math.round(parseFloat(rgbm[4], 10) * 255).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
} else {
var rgbm = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);
if (rgbm && rgbm.length === 4) {
return "#" +
("0" + parseInt(rgbm[1], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[2], 10).toString(16).toUpperCase()).slice(-2) +
("0" + parseInt(rgbm[3], 10).toString(16).toUpperCase()).slice(-2);
} else {
return "cant parse that";
}
}
}
$('button').click(function() {
var hex = rgb2hex($('#in_tb').val());
$('#in_tb_result').html(hex);
});Run Code Online (Sandbox Code Playgroud)
body {
padding: 20px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Convert RGB/RGBA to hex #RRGGBB/#AARRGGBB:<br>
<br>
<input id="in_tb" type="text" value="rgba(200, 90, 34, 0.75)"> <button>Convert</button><br>
<br> Result: <span id="in_tb_result"></span>Run Code Online (Sandbox Code Playgroud)