我正在为文本使用内联 SVG 元素,在 Firefox 中,它在文本边缘周围呈现青色和黄色条纹 - 这不应该存在。
否则,它在 Opera、Chromium 和 IE10 中运行良好。
以下是相关代码:
<h1 style="background-color:black;">
<a href="/">
<svg xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" version="1.1">
<defs>
<linearGradient y2="100%" x2="0%" y1="0%" x1="0%" id="h_gradient">
<stop offset="50%" style="stop-opacity: 1; stop-color: rgb(229, 229, 229);"/>
<stop offset="100%" style="stop-opacity: 1; stop-color: rgb(106, 106, 106);"/>
</linearGradient>
<filter id="innershadow" x0="-50%" y0="-50%" width="200%" height="200%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2" result="blur"/>
<feOffset dy="3" dx="3"/>
<feComposite in2="SourceAlpha" operator="arithmetic" k2="-1" k3="1" result="shadowDiff"/>
<feFlood flood-color="black" flood-opacity="0.6"/>
<feComposite in2="shadowDiff" operator="in"/>
<feComposite in2="SourceGraphic" operator="over"/>
</filter>
</defs>
<text font-family="inherit" font-weight="bold" text-anchor="middle"
fill="url(#h_gradient)" filter="url(#innershadow)" x="50%" y="100">
<tspan font-size="100" stroke="white">
Example
</tspan>
</text>
</svg>
</a>
</h1>
我认为只有在应用过滤器或渐变时才会发生这种情况,但即使没有它们也会发生 - 它们只会让它更明显。
谁能告诉它为什么会发生?提前致谢!