1

我正在为文本使用内联 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>

我认为只有在应用过滤器或渐变时才会发生这种情况,但即使没有它们也会发生 - 它们只会让它更明显。

谁能告诉它为什么会发生?提前致谢!

4

0 回答 0