Как получить реальное значение цвета после непрозрачности - PullRequest
3 голосов
/ 27 августа 2010

Я использую jquery и css для уменьшения цвета фона и непрозрачности пункта меню. Тем не менее, я хочу, чтобы цвет фона был фактическим цветом фона CSS:

Например:

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

Полагаю, это также в значительной степени зависит от фона позади непрозрачного элемента ...

Есть идеи?

1 Ответ

3 голосов
/ 27 августа 2010

AFAIK, кросс-браузерный способ получить цвет определенной точки после рендеринга.

Таким образом, остается только смоделировать это. Получите цвет фона CSS плюс непрозрачность, а затем пройдите вверх через ваших родителей, пока не найдете другую фоновую запись.

Проблема: вы не можете получить значения RGB цвета, только строку CSS. Так что, если цвет фона "синий", вы потеряете. Но в большинстве случаев вы должны получить 7-символьную строку, такую ​​как #ffee00, которую можно преобразовать в 24-битное целое число (или 3 целых числа от 0 до 255). После этого вы можете просто применить прозрачность:

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