gpt4 book ai didi

firefox - SVG线性渐变在Firefox中不起作用

转载 作者:行者123 更新时间:2023-12-04 13:20:14 24 4
gpt4 key购买 nike

我有以下由Adobe Illustrator构建的Flash设计器提供给我的SVG示例:

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="30px" height="35px" viewBox="0 0 30 35" enable-background="new 0 0 30 35" xml:space="preserve">
<symbol id="replay_icon" viewBox="0 -12 14 12">
<g id="Layer_1_2_">
<defs><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7" y1="1" x2="7" y2="-13">
<stop offset="0" style="stop-color:#0000FF"/>
<stop offset="1" style="stop-color:#00FF00"/>
</linearGradient></defs>
<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" d="M12.25-10.25C11.083-11.417,9.667-12,8-12v2
c1.1,0,2.05,0.383,2.85,1.15C11.617-8.083,12-7.133,12-6c0,1.1-0.383,2.033-1.15,2.8C10.05-2.4,9.1-2,8-2S5.95-2.4,5.15-3.2
C4.383-3.967,4-4.883,4-5.95h2l-3-4l-3,4h2c0,1.633,0.583,3.034,1.75,4.2S6.333,0,8,0s3.083-0.583,4.25-1.75S14-4.333,14-6
S13.417-9.083,12.25-10.25z"/>
</g>
</symbol>
<use xlink:href="#replay_icon" width="14" height="12" y="-12" transform="matrix(1 0 0 -1 10 11)" overflow="visible"/>
</svg>

SVG图像显示在所有浏览器中,甚至包括IE9(* gasp *),但不会在Firefox中显示。问题在于线性梯度。如果在路径上添加笔触,则路径会正确描边并变为可见,但未被填充。我尝试了许多不同的方法来使渐变无法成功使用。谁知道此SVG Firefox的哪一部分有问题以及如何解决?

最佳答案

从Firefox 77开始,此问题已修复。要解决Firefox早期版本中的问题,只需将渐变定义移到符号元素之外,例如

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="30px" height="35px" viewBox="0 0 30 35" enable-background="new 0 0 30 35" xml:space="preserve">
<defs>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="7" y1="-13" x2="7" y2="1">
<stop offset="0" stop-color="#0000FF"/>
<stop offset="1" style="stop-color:#00FF00"/>
</linearGradient>
</defs>
<symbol id="replay_icon" viewBox="0 -12 14 12">
<g id="Layer_1_2_">
<path fill-rule="evenodd" clip-rule="evenodd" fill="url(#SVGID_1_)" d="M12.25-10.25C11.083-11.417,9.667-12,8-12v2
c1.1,0,2.05,0.383,2.85,1.15C11.617-8.083,12-7.133,12-6c0,1.1-0.383,2.033-1.15,2.8C10.05-2.4,9.1-2,8-2S5.95-2.4,5.15-3.2
C4.383-3.967,4-4.883,4-5.95h2l-3-4l-3,4h2c0,1.633,0.583,3.034,1.75,4.2S6.333,0,8,0s3.083-0.583,4.25-1.75S14-4.333,14-6
S13.417-9.083,12.25-10.25z"/>
</g>
</symbol>
<use xlink:href="#replay_icon" width="14" height="12" y="-12" transform="matrix(1 0 0 -1 10 11)" overflow="visible"/>
</svg>

关于firefox - SVG线性渐变在Firefox中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12867704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com