5

質問にあるように、SVG CSS 背景がサポートされているかどうかを検出するために Modernizr を使用するにはどうすればよいですか?

.svg #example{}ブラウザによって svg ファイルのサポートが異なるため、これは正しい方法ではありません。

たとえば、Modernizr は、Firefox 3.5 で SVG がサポートされていると報告していますが、背景画像としての SVG ファイルと CSS はサポートされていません。

4

2 に答える 2

4

純粋なCSSソリューションはどうですか?これはIE8で動作することを確認できます。

E {
background-image:  url('image.png');
background-image:  none, url('image.svg'), url('image.png');
background-size: 100% 100%;
}

http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/

または、この他の方法を試してください。

E {
background: transparent url(fallback-image.png) center center no-repeat;
background-image: linear-gradient(transparent, transparent), url(vector-image.svg);
}

http://pauginer.tumblr.com/post/36614680636/invisible-gradient-technique

于 2012-12-19T17:59:13.597 に答える
2

1 つのオプションは、モダナイザーでインライン SVGオプションを使用することです。これは FF 3.6.14 で動作することを確認できます。モダナイザー ビルドの一部として「インライン SVG」を選択し、次のように CSS で管理できます。

.logo {
    background: url(mahimage.svg);
    ...
}

.no-inlinesvg .logo {
    background: url(mahimage.png);
    ...
}

または次のようなJavaScriptで:

if (Modernizr.inlinesvg) {
    ...
}
else {
    ....
}
于 2013-08-21T17:35:15.563 に答える