5

重複の可能性:
SVG に SVG ファイルを含める

SVG の fill プロパティは、いわゆる「ペイント サーバー」のインスタンスであるグラデーション/パターン要素を指す URL を受け入れます。

質問:外部の SVG ファイルで定義されたグラデーションをどのブラウザーでも(つまり、もちろん IE ではなく) 使用できますか? のようにrect.svg

<rect fill="url(grad.svg#my_grad)" />

および?の対応する<linearGradient />要素grad.svg

そうすれば、すべてのグラデーション/パターンを 1 つのファイルに保存して、それをキャッシュに入れることができるので、本当にいいと思います...

乾杯、

更新:この質問は、その意味で、SVG に SVG ファイルを含める(少なくとも Firefox で質問に回答された場所) の複製です。タイトルとタグは、まあ、あなたに見つけられる可能性が高いと思うので、私は開いたままにします。

4

2 に答える 2

3

SVG 仕様は、URI を使用できると述べているだけなので、可能なはずです。もちろん、ブラウザのサポートは別の問題です。

ちょっとしたサンプルファイルを書いてテストしました。

Inkscape では動作しませんが、Apache Batik Toolkit では動作します。

ブラウザのサポートについては、ファイルをbrowsershots.orgにアップロードして要約すると、外部グラデーションをサポートするブラウザもあれば、サポートしないブラウザもあります。例えば:

  • Firefox 3.0 いいえ
  • Firefox 3.5 はい
  • オペラ 9.64、10.0 はい
  • サファリ 4 NO
  • クロム 2.0 いいえ
于 2009-07-10T05:54:16.777 に答える
0

正しく理解できたら、URLを次のように変更します

<rect fill="url(grad.svg?param=my_grad" />

そして、svg を動的に生成しますか?

于 2009-07-09T13:59:04.477 に答える