Css 以任意颜色呈现SVG形状的最跨浏览器的方式是什么?

Css 以任意颜色呈现SVG形状的最跨浏览器的方式是什么?,css,svg,Css,Svg,如果只是一个平面的、100%黑色的2D SVG形状,我如何以任意颜色尽可能跨浏览器渲染它? 拉斐尔(http://raphaeljs.com/),适用于IE5+(通过VML回退)、Safari、Chrome、Opera、Firefox,但不适用于蜂窝之前的Android Svgweb(http://code.google.com/p/svgweb/)所有这些功能都可以使用,但可以通过Flash(IPad、IPhone不支持)进行备份 坎夫(http://code.google.com/p/can

如果只是一个平面的、100%黑色的2D SVG形状,我如何以任意颜色尽可能跨浏览器渲染它?

  • 拉斐尔(http://raphaeljs.com/),适用于IE5+(通过VML回退)、Safari、Chrome、Opera、Firefox,但不适用于蜂窝之前的Android
  • Svgweb(http://code.google.com/p/svgweb/)所有这些功能都可以使用,但可以通过Flash(IPad、IPhone不支持)进行备份
  • 坎夫(http://code.google.com/p/canvg/)适用于所有支持SVG或画布的应用程序
我认为拉斐尔是你最好的选择

在Raphael中渲染2D颜色很容易。例如:

<script type="javascript">
// Creates canvas 320 × 200 at 10, 50
var paper = Raphael(10, 50, 320, 200);
// Creates a red-filled cross-looking shape
paper.path("M10,10L50,50M50,10L10,50").attr({stroke: "red", fill:"red"});
</script>

//在10,50处创建画布320×200
var paper=Raphael(10,50,320,200);
//创建一个红色填充的十字架形状
纸张路径(“M10,10L50,50M50,10L10,50”).attr({笔划:“红色”,填充:“红色”});

Hmm,您没有提到以任意颜色渲染图像的部分。使用上述工具包简单吗?@AlanH SVG就是用颜色填充东西。如果您有权访问源SVG,则可以更改其填充(使用DOM方法)。任何支持SVG的浏览器都支持这一点。我编辑了我的答案,加入了一个关于如何使用Raphael的示例。希望有帮助。