我动态添加了一个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 + "+ }";
fill
,opacity
,strokeColor
和strokeWidth
是动态变化的变量。这些属性在除IE8之外的所有浏览器中都能正常工作。
如何解决此问题?
答案 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。