css 如何识别 0x33333300 别人给我一串 0x33333300,我怎么把它转换为背景颜色
没见过这样的写法,但你说这是颜色
前面0x一般是十六进制的意思。
后面33333300拆开应该是33 33 33 00,而rgb只有6位xx xx xx。
cmyk颜色倒是有 xx xx xx xx,如果按cmyk的33% 33% 33% 0%来转换成rgb的话是 #b7aaa2。但cmyk是百分比,前面不会加十六进制标识。
我觉得应该是 #333333。
你分别弄这两个颜色的背景给他看看是不是吧。
<script>
var reg = /^0x([0-9a-fA-f]{8})$/;
String.prototype.colorRgb = function() {//这个方法我截取了一部分,也就是说,你得保证你的color值都是以0x00000000这样的格式的,不然就会出问题
var sColor = this.toLowerCase();
if(sColor && reg.test(sColor)) {
//处理六位的颜色值
var sColorChange = [];
for(var i = 2; i < 10; i += 2) {
sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
}
return "RGB(" + sColorChange.join(",") + ")";
} else {
return sColor;
}
};
var rgb="0x33333300".colorRgb(); //rgb(51,51,48,0)
</script>
3 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答1.7k 阅读
2 回答1.5k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
这识别不了。你用js处理一下。然后用rgba