Safari 歌剧和野生动物园没有';在SVG中不显示屏蔽文本

Safari 歌剧和野生动物园没有';在SVG中不显示屏蔽文本,safari,svg,opera,mask,jsfiddle,Safari,Svg,Opera,Mask,Jsfiddle,我曾尝试在SVG中使用掩码实现文本效果。其他浏览器都可以,但Opera和Safari根本没有显示效果(请参见下图)。效果是字符内部的白色区域 我假设Opera 12.02和Safari 5.1.7支持面具,因为面具通常在它们中显示 我跳过了有问题的页面: 使用以下代码创建掩码: <defs> <text id="text" font-family="Times" font-size="480">Va</text> <mask id="myMas

我曾尝试在SVG中使用掩码实现文本效果。其他浏览器都可以,但Opera和Safari根本没有显示效果(请参见下图)。效果是字符内部的白色区域

我假设Opera 12.02和Safari 5.1.7支持面具,因为面具通常在它们中显示

我跳过了有问题的页面:

使用以下代码创建掩码:

<defs>
  <text id="text" font-family="Times" font-size="480">Va</text>
  <mask id="myMask" maskUnits="objectBoundingBox">
    <use xlink:href="#text" fill="#FFFFFF" stroke="#000000" stroke-width="20" 
    stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="40"/>
  </mask>
</defs>
<use x="40" y="370" xlink:href="#text" fill="white" stroke="black"
stroke-width="24" mask="url(#myMask)" stroke-linecap="square"
stroke-linejoin="miter" stroke-miter-limit="1000"/>

弗吉尼亚州
知道我的代码有什么问题吗,或者这是Opera和Safari中的某种错误吗?

同样由于某种原因,当我使用Opera在JSFIDLE中按Run时,文本变为黑色。其他浏览器可以很好地运行


将其归档为Opera bug CORE-48922。规范对生成的“附加变换”的效果有点不清楚,元素上的x、y属性有助于wrt边界框

无论如何,您可以通过不在元素上使用x,y属性来解决这个问题,而将转换向上移动到父元素(从“请勿重复”的角度来看也是很好的)


所以,你应该以这样的方式结束。

谢谢。它很好地解决了Opera和Safari中的问题,但现在在Firefox(15.0.1?)中失败了。