RGBa в Internet Explorer - PullRequest
       14

RGBa в Internet Explorer

4 голосов
/ 04 августа 2011

Я знаю, что IE не поддерживает RGBa.Я также знаю, что вы можете использовать следующие методы:

/* For IE 5.5 - 7*/
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
/* For IE 8*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";

Первые два числа в «Colorstr» - это значение непрозрачности.с 99, являющимся 0,6 непрозрачности.Для других уровней непрозрачности, каковы числовые значения?Я не могу их найти.Есть ли простой способ рассчитать число для непрозрачности?Или где я могу найти эти значения?

Спасибо =>

Ответы [ 4 ]

5 голосов
/ 04 августа 2011

Похоже, это прямой шестнадцатеричный 1-байтовый код, поэтому просто сделайте это

Скажите, что ваша непрозрачность составляет 30%:

.30 * 255 = 76.5
76 -> hex = 4C

Вы можете преобразовать десятичное число в шестнадцатеричное, используя различные инструменты рабочего стола, онлайн-страницы или эту функцию JS:

new Number(76).toString(16);
1 голос
/ 04 августа 2011

Это шестнадцатеричный 99, который является 153 в десятичном виде.введите 0x99 в консоли js, и он выдаст 153. F - это самая высокая цифра в шестнадцатеричном формате, поэтому при вводе 0xff (самое высокое значение для двух шестнадцатеричных цифр) вы получите 255. Если 255 - это 100%, а 153 - то, что вы хотитезнать, что процент от вас делит 153 на 255, что приводит к 0,6.

0 голосов
/ 22 декабря 2012

По состоянию на март 2011 года Internet Explorer 9+ правильно обрабатывает rgba и фактически делает это более точно / тщательно, чем [Chrome | Mozilla | Safari] ...

0 голосов
/ 04 августа 2011

конечно, используйте преобразование из шестнадцатеричного значения в процентное, например this :

#999999 преобразуется в rgb (60%, 60%, 60%) , т. Е. 99= 60%

#BABABA конвертируется в rgb (73%, 73%, 73%) , поэтому BA = 73%

вы, вероятно, можете найти лучший шестнадцатеричный конвертерчем тот, который я предложил.Помните, что гекс - это основание 16, а не 10 ...

...