我有以下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就在这里:
<!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>
它适用于许多浏览器,但渐变背景在IE7和IE8上不起作用。什么可以解决它?
答案 0 :(得分:4)
我根据documentation page计算出来了。您需要使用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
});