【发布时间】:2016-03-31 08:02:16
【问题描述】:
我想通过 CSS 将阴影过滤器应用于内联放置的 SVG 内的特定元素/路径,我不需要需要对整个图形进行阴影处理,只需一个元素在里面。
.shadow {
fill: red;
-webkit-filter:
drop-shadow( 3px 3px 2px rgba(0,0,0,.7) );
filter:
drop-shadow( 3px 3px 2px rgba(0,0,0,.7) );
}
<svg height="150" width="150">
<g>
<path d="M0,0 C-72,132 -72,-26 100,100"></path>
</g>
<g class="shadow" >
<circle class="shadow" cx="100" cy="100" r="20"></circle>
</g>
</svg>
正如您在上面看到的,我正在尝试对 SVG 的红色圆圈元素应用投影,但它不起作用。
四处搜索我没有找到任何具体信息,only few comments 在其他 SVG 相关问题中只是说明它不适用于单个 SVG 元素,但没有太多解释。
更新
正如 cmets 中的 @azeós 所指出的,它在 Firefox (v. 43.0.2) 中可以正确呈现,因此这是 Chrome 特有的问题。有没有办法在不摆弄 cmets 中建议的 SVG 代码的情况下制作这个跨浏览器?
【问题讨论】:
-
只是好奇,为什么不用 SVG 过滤器来创建阴影?
-
就像 Harry 建议的那样,我认为投影的最佳选择是 svg 代码中的过滤器 w3schools.com/svg/svg_feoffset.asp
-
是的,应该在问题中指定,我想避免由于工作流程而弄乱 SVG 代码。这真的是唯一可行的选择吗?
-
我看到了阴影... Waterfox 40.1.0,您使用的是哪个浏览器? stackoverflow.com/a/13624469/1095101
-
哦,太好了,我正在使用 chrome,我也可以在 Firefox 上看到阴影。我想那是 Chrome 的业务。 chrome的具体问题是什么?我已经更新了问题
标签: css svg svg-filters