是否可以在SVG填充颜色上设置透明度或alpha级别?

我尝试向填充标记添加两个值(将其从fill="#044B94"更改为fill="#044B9466"),但这不起作用。


当前回答

要使填充完全透明,fill="transparent"在现代浏览器中似乎是有效的。但它在微软Word (Mac版)中不起作用,我不得不使用fill-opacity="0"。

更新

根据下面Alex Henrie的评论,fill="none"可能是更好的选择。

其他回答

你使用一个额外的属性;fill-opacity:该属性接受一个介于0.0到1.0之间的十进制数;其中0.0是完全透明的。

例如:

<rect ... fill="#044B94" fill-opacity="0.4"/>

此外,你有以下:

描边的描边不透明度属性 整个对象的不透明度

在SVG元素中使用fill-opacity属性。

默认值为1,最小值为0,在步进中使用十进制值EX: 0.5 = alpha的50%。注意:有必要定义填充颜色来应用填充不透明度。

请看我的例子。

参考文献

我分享一个相关的技巧,当你想让SVG继承容器的样式,如正常状态,悬停状态和访问状态时,你可能会遇到: 在路径上使用fill='currentColor'。这就是SVG是如何产生的字体awesome图标可以采取任何前色应用到字体!

要使填充完全透明,fill="transparent"在现代浏览器中似乎是有效的。但它在微软Word (Mac版)中不起作用,我不得不使用fill-opacity="0"。

更新

根据下面Alex Henrie的评论,fill="none"可能是更好的选择。

作为一个尚未完全标准化的解决方案(尽管与CSS3中的颜色语法一致),你可以使用例如fill="rgba(124,240,10,0.5)"。在Firefox, Opera, Chrome中工作良好。

举个例子。