在SVG填充颜色中设置透明度或alpha级别是否可行?
我已经尝试在填充标签中添加两个值(将其从fill="#044B94"
更改为fill="#044B9466"
),但是这并不起作用。
在SVG填充颜色中设置透明度或alpha级别是否可行?
我已经尝试在填充标签中添加两个值(将其从fill="#044B94"
更改为fill="#044B9466"
),但是这并不起作用。
你使用了一个额外的属性:fill-opacity
:该属性接受一个介于0.0和1.0之间(包含0.0和1.0)的十进制数,其中0.0表示完全透明。
例如:
<rect ... fill="#044B94" fill-opacity="0.4"/>
此外,您还有以下内容:
stroke-opacity
属性opacity
fill_opacity
的名称,但在SVG和CSS中,它是fill-opacity
。 - Williham Totlandfill="rgba(124,240,10,0.5)"
。在Firefox、Opera和Chrome中都可以正常工作。rgba
转换为rgb
并自动添加了fill-opacity
属性。我不确定这是否也适用于普通的SVG,但在那里它是这样工作的。无论如何,谢谢。 - Hannafill="transparent"
。但在Microsoft Word(针对Mac)中无效,我不得不使用fill-opacity="0"
。fill="none"
可能是更好的选择。fill="none"
是标准的方法,适用于 Inkscape、Firefox、Chrome 或任何其他 SVG 应用程序。详见 https://www.w3.org/TR/SVG2/painting.html#SpecifyingPaint - Alex Henriefill:none
不会响应指针事件。将其视为“开放的窗口” - 而fill:transparent
或fill-opacity:0
则是完全干净的窗口(任何鸟都会撞上它)codepen。 - herrstrietzelfill="#044B9466"
这是在SVG内使用十六进制值定义的RGBA颜色。这种方式是有效的,但并非所有程序都能正确地显示它。
您可以在此处找到该语法的浏览器支持情况:https://caniuse.com/#feat=css-rrggbbaa
截至2017年8月:Mozilla Firefox(54)、Apple Safari(10.1)和Mac OS X Finder的“快速查看”功能可以正常显示RGBA填充颜色。然而,Google Chrome直到版本62才支持此语法(之前需要启用实验性平台功能标志)。
截至2021年4月,Inkscape 1.0.2版本无法读取SVG文件中的此格式,而是将任何RGBA颜色转换为不透明黑色。Bug报告在此处:https://gitlab.com/inkscape/inbox/-/issues/1195
fill
、stroke
、stroke-width
、opacity
等。opacity
会影响整个svg对象、路径或组,在其中声明fill-opacity
、stroke-opacity
只会影响填充和描边的透明度。也就是说,我也用过并尝试仅使用fill
,而不是使用#fff
,而是使用rgba标准,就像这样:rgba(255, 255, 255, 1)
,就像在css中一样。这对于大多数现代浏览器都有效。
请记住,如果您打算进一步重新编辑svg,则根据我的经验,最好的做法是始终保留一个未更改的版本。Inkscape对手动更改的svg更加灵活,但Illustrator和CorelDraw可能在导入和编辑svg时出现问题。
例子
<path style="fill:#ff0000;fill-opacity:1;stroke:#1a1a1a;stroke-width:2px;stroke-opacity:1" d="m 144.44226,461.14425 q 16.3125,-15.05769 37.64423,-15.05769 21.33173,0 36.38942,15.05769 15.0577,15.05769 15.0577,36.38942 0,21.33173 -15.0577,36.38943 -15.05769,16.3125 -36.38942,16.3125 -21.33173,0 -37.64423,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z M 28.99995,35.764435 l 85.32692,0 23.84135,52.701923 386.48078,0 q 10.03846,0 17.5673,7.528847 8.78366,7.528845 8.78366,17.567305 0,7.52885 -2.50962,12.54808 l -94.11058,161.87019 q -13.80288,27.60577 -45.17307,27.60577 l -194.4952,0 -26.35096,40.15385 q -2.50962,6.27404 -2.50962,7.52885 0,6.27404 6.27404,6.27404 l 298.64424,0 0,50.1923 -304.91828,0 q -25.09615,0 -41.40865,-13.80288 -15.05769,-13.80289 -15.05769,-38.89904 0,-15.05769 6.27404,-25.09615 l 38.89903,-63.9952 -92.855766,-189.475962 -52.701924,0 0,-52.701923 z M 401.67784,461.14425 q 15.05769,-15.05769 36.38942,-15.05769 21.33174,0 36.38943,15.05769 16.3125,15.05769 16.3125,36.38942 0,21.33173 -16.3125,36.38943 -15.05769,16.3125 -36.38943,16.3125 -21.33173,0 -36.38942,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z"/>
示例2
<path style="fill:#ff0000;fill-opacity:.5;stroke:#1a1a1a;stroke-width:2px;stroke-opacity:1" d="m 144.44226,461.14425 q 16.3125,-15.05769 37.64423,-15.05769 21.33173,0 36.38942,15.05769 15.0577,15.05769 15.0577,36.38942 0,21.33173 -15.0577,36.38943 -15.05769,16.3125 -36.38942,16.3125 -21.33173,0 -37.64423,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z M 28.99995,35.764435 l 85.32692,0 23.84135,52.701923 386.48078,0 q 10.03846,0 17.5673,7.528847 8.78366,7.528845 8.78366,17.567305 0,7.52885 -2.50962,12.54808 l -94.11058,161.87019 q -13.80288,27.60577 -45.17307,27.60577 l -194.4952,0 -26.35096,40.15385 q -2.50962,6.27404 -2.50962,7.52885 0,6.27404 6.27404,6.27404 l 298.64424,0 0,50.1923 -304.91828,0 q -25.09615,0 -41.40865,-13.80288 -15.05769,-13.80289 -15.05769,-38.89904 0,-15.05769 6.27404,-25.09615 l 38.89903,-63.9952 -92.855766,-189.475962 -52.701924,0 0,-52.701923 z M 401.67784,461.14425 q 15.05769,-15.05769 36.38942,-15.05769 21.33174,0 36.38943,15.05769 16.3125,15.05769 16.3125,36.38942 0,21.33173 -16.3125,36.38943 -15.05769,16.3125 -36.38943,16.3125 -21.33173,0 -36.38942,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z"/>
例子 3
<path style="fill:rgba(255, 0, 0, .5);stroke:rgba(242, 242, 242, .5);stroke-width:2px" d="m 144.44226,461.14425 q 16.3125,-15.05769 37.64423,-15.05769 21.33173,0 36.38942,15.05769 15.0577,15.05769 15.0577,36.38942 0,21.33173 -15.0577,36.38943 -15.05769,16.3125 -36.38942,16.3125 -21.33173,0 -37.64423,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z M 28.99995,35.764435 l 85.32692,0 23.84135,52.701923 386.48078,0 q 10.03846,0 17.5673,7.528847 8.78366,7.528845 8.78366,17.567305 0,7.52885 -2.50962,12.54808 l -94.11058,161.87019 q -13.80288,27.60577 -45.17307,27.60577 l -194.4952,0 -26.35096,40.15385 q -2.50962,6.27404 -2.50962,7.52885 0,6.27404 6.27404,6.27404 l 298.64424,0 0,50.1923 -304.91828,0 q -25.09615,0 -41.40865,-13.80288 -15.05769,-13.80289 -15.05769,-38.89904 0,-15.05769 6.27404,-25.09615 l 38.89903,-63.9952 -92.855766,-189.475962 -52.701924,0 0,-52.701923 z M 401.67784,461.14425 q 15.05769,-15.05769 36.38942,-15.05769 21.33174,0 36.38943,15.05769 16.3125,15.05769 16.3125,36.38942 0,21.33173 -16.3125,36.38943 -15.05769,16.3125 -36.38943,16.3125 -21.33173,0 -36.38942,-16.3125 -15.05769,-15.0577 -15.05769,-36.38943 0,-21.33173 15.05769,-36.38942 z"/>
fill-opacity和stroke-opacity
已被移除,因为rgba标准在两种情况下都涵盖了颜色和alpha通道。我在这里分享一个相关的技巧,当你想让SVG继承容器的样式(如普通状态、悬停状态和访问状态)时,可以使用fill='currentColor'来设置路径的填充颜色。这就是Font Awesome图标生成的SVG可以应用于任何字体颜色的原因!
fill="none"
和pointer-events="visible"
的可能性。 - Fabien Snauwaert