export default function hexToRgb(hex: string, a = 1) {
// Hex(十六进制)、Dec(十进制)、Octal(八进制)、Bin(二进制)
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
if (result) {
const colorObj = {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16),
a,
};
return `rgba(${colorObj.r},${colorObj.g},${colorObj.b},${colorObj.a})`;
}
return hex;
}
参数 #16d6ce(需要改变的色号) 1至0(0.8,0.9都可以 结果色号是原色号的多少浓度)
适用场景: 项目通过 跳转链接 得到项目的主题色 此方法可以将主题色号处理为 多种 透明度的 不同颜色 配合主题使用
调用
document.documentElement.style.setProperty('--color-master-90', hexToRgb(`#${query.theme_color}`, 0.9));