SVG - Css过滤器模糊一些元素

时间:2014-08-25 15:58:34

标签: css css3 svg

我正在尝试将CS​​S过滤器模糊应用于某些元素,但不知何故这不起作用。

以下是jsfiddle中的一个示例: http://jsfiddle.net/kuyraypj/

我已经应用了以下css,但是我已经使用了以下css。'圆圈根本不模糊。 HTML:

<svg width="500px" height="500px">
    <circle class="blurred" cx="100" cy="100" r="50" fill="red"></circle>    
    <circle cx="220" cy="100" r="50" fill="red"></circle>
</svg>

CSS:

svg circle.blurred {
  fill: green;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}

有没有办法将CSS3过滤器应用于某些svg元素,还是有其他方法吗?

非常感谢

2 个答案:

答案 0 :(得分:5)

这是一个SVG,其过滤效果与CSS描述的相同:

&#13;
&#13;
<svg width="500px" height="200px">
    <defs>
        <filter id="blur">
            <feGaussianBlur stdDeviation="5" />
        </filter>
    </defs>
    <circle cx="100" cy="100" r="50" fill="green" filter="url(#blur)" ></circle>
    <circle cx="220" cy="100" r="50" fill="red"></circle>
</svg>
&#13;
&#13;
&#13;

您可以使用上面代码段中的filter属性,也可以使用CSS:

&#13;
&#13;
svg circle.blurred {
    filter: url(#blur);
}
&#13;
<svg width="500px" height="200px">
    <defs>
        <filter id="blur">
            <feGaussianBlur stdDeviation="5" />
        </filter>
    </defs>
    <circle class="blurred" cx="100" cy="100" r="50" fill="green"></circle>
    <circle cx="220" cy="100" r="50" fill="red"></circle>
</svg>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)