嵌套的svg忽略了Chrome和Opera中的转换

时间:2015-10-10 20:54:04

标签: javascript svg cross-browser svg.js

我有点觉得我会称之为bug。 我有以下2个svg:

<svg height="100%" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" id="SvgjsSvg1004">
  <defs id="SvgjsDefs1005"></defs>
  <g transform="matrix(2,0,0,2,50,50)" id="SvgjsG1011">
    <rect height="50" width="50" id="SvgjsRect1012"></rect>
  </g>
</svg>

<svg height="100%" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" xmlns="http://www.w3.org/2000/svg" id="SvgjsSvg1004">
  <defs id="SvgjsDefs1005"></defs>
  <svg transform="matrix(2,0,0,2,50,50)" style="overflow: visible;" id="SvgjsSvg1011">
    <rect height="50" width="50" id="SvgjsRect1012"></rect>
  </svg>
</svg>

在firefox中,这两个片段看起来是一样的(正如预期的那样)。两者之间的唯一区别是第二个使用嵌套的svg而不是组。

当您在chrome或opera中查看此示例时,您会看到嵌套svg上的转换被完全忽略。

是否有人对此行为有解释?

1 个答案:

答案 0 :(得分:1)

根据http://www.w3.org/TR/SVG/struct.html#SVGElement,SVGSVGElement不允许进行转换。