代码之家  ›  专栏  ›  技术社区  ›  HandiworkNYC.com

不透明度后如何获取真彩色值

  •  3
  • HandiworkNYC.com  · 技术社区  · 16 年前

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

    例如:

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

    我想这也很大程度上取决于不透明元素背后的背景。。。

    有什么想法吗?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Aaron Digulla    13 年前

    但是,没有跨浏览器的方法可以在渲染后得到某一点的颜色。

    所以剩下的唯一办法就是模拟这个。获取CSS背景颜色加上不透明度,然后向上遍历父项,直到找到另一个背景项。

    问题是:你也不能得到颜色的RGB值,只有CSS字符串。所以如果背景色是“蓝色”,你就松了。但是大多数时候,你应该得到一个7个字符的字符串 #ffee00 可以将其转换为24位整数(或从0到255的3个整数)。之后,只需应用不透明度:

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