IE8中的填充,不透明度,strokeColor和strokeWidth

时间:2015-05-07 13:06:06

标签: jquery html css internet-explorer-8

我动态添加了一个CSS类,如下所示:

var style = document.createElement('style');
style.id = "highlightSegment";
var text = ".highlightStyle { fill:" + fill + ";opacity:" + opacity + ";stroke:" + strokeColor + ";stroke-width:" + strokeWidth + "+ }";
style.setAttribute("type", "text/css");
if (style.styleSheet) {   // for IE
    style.styleSheet.cssText = text;
} else {                // others
    var textnode = document.createTextNode(text);
    style.appendChild(textnode);
}
var h = document.getElementsByTagName('head')[0];
h.appendChild(style);

在css中,

var text = ".highlightStyle { fill:" + fill + ";opacity:" + opacity + ";stroke:" + strokeColor + ";stroke-width:" + strokeWidth + "+ }";

fillopacitystrokeColorstrokeWidth是动态变化的变量。这些属性在除IE8之外的所有浏览器中都能正常工作。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您可能需要查看How to Simulate CSS3 box-shadow in IE6-8 Without JavaScript.

我没有测试过,但值得一试。

filter: progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=0),
     progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=90),
     progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=180),
     progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=270);

编辑:

我并不是建议停在Shadow上,而是深入研究DXImageTransform.Microsoft类,该类在Static Filters中详细阐述。这仅适用于IE5.5到IE8。