SVG填充颜色透明度/ alpha?

SVG fill color transparency / alpha?

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

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


您使用附加属性; fill-opacity:此属性采用介于0.0到1.0之间的十进制数字(含);其中0.0是完全透明的。

例如:

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

此外,您还有以下内容:

  • 笔划的stroke-opacity属性
  • 整个对象的opacity


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

这是一个例子。


1
fill="#044B9466"

这是SVG内部以十六进制表示的RGBA颜色,由十六进制值定义。这是有效的,但并非所有程序都能正确显示它...

您可以在此处找到对此语法的浏览器支持:https://caniuse.com/#feat=css-rrggbbaa

自2017年8月起:RGBA填充颜色将在Mozilla Firefox(54),Apple Safari(10.1)和Mac OS X Finder的"快速查看"中正确显示。但是,直到版本62(以前启用了"实验平台功能"标志的版本54才支持),谷歌浏览器才支持该语法。


为了使填充完全透明,fill="transparent"似乎可以在现代浏览器中使用。但这在Microsoft Word(对于Mac)中不起作用,我不得不使用fill-opacity="0"


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

默认值为1,最小值为0,在步骤中使用十进制值EX:0.5 = alpha的50%。注意:必须定义fill颜色以应用fill-opacity

看我的例子。

引用。