3

この SVG には、SVG 要素をオーバーフローする rect が含まれています。

<svg id='svg' width='10' height='10'>
  <rect x='-10' y='-10' width='30' height='30'/>
</svg>

Chrome 28 と Opera 12getBoundingClientRect()は、幅と高さが 10 の SVG 要素に対して を返します。Firefox 23 は、幅と高さが 30 であると報告します。どちらが正しいですか?

JSFiddle

関連する仕様はCSSOMであり、SVG 要素に「関連付けられた CSS レイアウト ボックス」がない場合、SVG 仕様に委任されます。「関連付けられた CSS レイアウト ボックスを持つ」という定義は見つかりませんでしたが、getBBoxすべてのブラウザーで 30x30 の四角形を返すため、正しい結果はこの定義に依存しているようです。

4

1 に答える 1

3

この Firefox のバグは現在修正されています。この修正はすでにFirefox nightliesにあり、2014 年 10 月 14 日にリリースされる Firefox 33 に反映される予定です。詳細については、バグ 530985を参照してください。

于 2013-08-09T19:35:56.307 に答える