我使用jquery和css来淡化菜单项的背景颜色和不透明度。但是,我希望背景颜色是实际的css背景颜色:
例如:
css background color: #eabf60
real color after .70 opacity: #ECCD85
我认为这在很大程度上也取决于不透明元素背后的背景......
有什么想法吗?
答案 0 :(得分:3)
AFAIK,渲染后没有跨浏览器的方式来获取某个点的颜色。
所以剩下的唯一方法是模拟这个。获取CSS背景颜色加上不透明度,然后向上走过您的父母,直到找到另一个背景条目。
问题:您无法获取颜色的RGB值,只能获取CSS字符串。因此,如果背景颜色为“蓝色”,则会松动。但大多数情况下,您应该获得一个7个字符的字符串,如#ffee00
,您可以转换为24位整数(或3个整数,从0到255)。之后,您可以简单地应用不透明度:
finalRed = parseInt (myRed * opacity + parentRed * ( 1. - opacity ));