将色号转为 不同透明度

这篇文章介绍了如何使用JavaScript函数hexToRgb将十六进制颜色代码转换为带有透明度的RGB值,以便在项目中根据不同场景设置主题色的透明度,如设置CSS`--color-master-90`属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值