如何在不透明度后获得真实的颜色值

时间:2010-08-27 15:25:30

标签: jquery css opacity

我使用jquery和css来淡化菜单项的背景颜色和不透明度。但是,我希望背景颜色是实际的css背景颜色:

例如:

css background color: #eabf60
real color after .70 opacity: #ECCD85

我认为这在很大程度上也取决于不透明元素背后的背景......

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

AFAIK,渲染后没有跨浏览器的方式来获取某个点的颜色。

所以剩下的唯一方法是模拟这个。获取CSS背景颜色加上不透明度,然后向上走过您的父母,直到找到另一个背景条目。

问题:您无法获取颜色的RGB值,只能获取CSS字符串。因此,如果背景颜色为“蓝色”,则会松动。但大多数情况下,您应该获得一个7个字符的字符串,如#ffee00,您可以转换为24位整数(或3个整数,从0到255)。之后,您可以简单地应用不透明度:

finalRed = parseInt (myRed * opacity + parentRed * ( 1. - opacity ));