Непрозрачность Рафаэля не отображается в IE - PullRequest
2 голосов
/ 01 апреля 2012

У меня проблема с непрозрачностью div при просмотре моего сайта в Internet Explorer.Используя Raphael 2.0 (без минимизации), я создаю прямоугольник, используя следующий код:

var rIn = Raphael("myDiv", "100%", "100%");
rIn.rect(0, 0, "100%", "100%").attr({fill:"black", stroke:"none", opacity:0.6});

В моих CSS файлах, если у меня есть прозрачные элементы div с тегом opacity, я также пишу, что он включаетfilter, который, кажется, отлично работает для IE.

opacity:0.6; filter: alpha(opacity = 60); 

Однако Рафаэль, по-видимому, не допускает filter как свойство, поэтому этот прямоугольник вообще не отображается.Это проблема только IE - она ​​работает на FF / Chrome / Safarai на Win / Mac без проблем.

1 Ответ

2 голосов
/ 01 апреля 2012

filter работает только для IE5-7.Для поддержки IE8 вам также необходимо это свойство до вашего filter свойства:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";

Эта статья QuirksMode также должна вам помочь.


На самом деле, попробуйте класс:

.opacity60 {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  filter: alpha(opacity=60);
}

И установите класс вашего прямоугольника на opacity60 с помощью вызова setAttribute('class', 'opacity60').

...