简体   繁体   English

路径对象的Raphael渐变背景在IE8和IE7上不起作用

[英]Raphael gradient background for path object doesn't work on IE8 and IE7

I have a following javascript code: 我有以下javascript代码:

$(document).ready(function() {
    var paper = new Raphael(document.getElementById('canvas_container'), 1000, 1000);
    var tetronimo = paper.path("M 700 700 l 0 -50 l -50 0 l 0 -50 l -50 0 l 0 50 l -50 0 l 0 50 z");
    tetronimo.attr({  
        gradient: '90-#526c7a-#64a0c1',
        stroke: '#3b4449',
        'stroke-width': 10,
        'stroke-linejoin': 'round',
        rotation: -90
    });
});

HTML is here: HTML在这里:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta charset="utf-8">
        <title>Raphael Test</title>
        <script type="text/javascript" src="js/libs/jquery.js"></script>
        <script type="text/javascript" src="js/libs/raphael.js"></script>
        <script type="text/javascript" src="js/test.js"></script>
        <link href="css/screen.css" rel="stylesheet" />
    </head>
    <body>
        <div id="canvas_container"></div>
    </body>
</html>

It works well on many browsers, but gradient background doesn't work on IE7 and IE8. 它在许多浏览器上都能很好地工作,但是渐变背景在IE7和IE8上不起作用。 What can be a solution for it? 有什么解决方案?

I figured it out based on documentation page . 我根据文档页面知道了。 Instead of using gradient property (some old version of library) you need to use fill property, and it works! 而不是使用gradient属性(某些旧版本的库),您需要使用fill属性,它可以工作!

var tetronimo = paper.path("M 700 700 l 0 -50 l -50 0 l 0 -50 l -50 0 l 0 50 l -50 0 l 0 50 z");
tetronimo.attr({  
    fill: '90-#526c7a-#64a0c1',
    'fill-opacity': 0.5,
    stroke: '#3b4449',
    'stroke-width': 10,
    'stroke-linejoin': 'round',
    rotation: -90
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM