CSS のインライン SVG 質問する

CSS のインライン SVG 質問する

CSS でインライン SVG 定義を使用することは可能ですか?

つまり、次のようなことです:

.my-class {
  background-image: <svg>...</svg>;
}

ベストアンサー1

はい、可能です。これを試してください:

body {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><linearGradient id='gradient'><stop offset='10%' stop-color='%23F00'/><stop offset='90%' stop-color='%23fcc'/> </linearGradient><rect fill='url(%23gradient)' x='0' y='0' width='100%' height='100%'/></svg>");
}

(これを機能させるには、SVG コンテンツを URL エスケープする必要があることに注意してください。たとえば、#は に置き換えられます%23。)

これはIE 9(SVGをサポート)で動作します。データ URL は IE の古いバージョンでも動作しますが (制限あり)、SVG はネイティブにサポートされていません。

おすすめ記事