[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
Question
を使用する必要があります。
<img>
,
<object>
または
<embed>
を読み込むのと同じように、SVG ファイルをページに読み込むために使用します。
jpg
,
gif
または
png
?
できるだけうまく動作させるために、それぞれどのようなコードにすればよいでしょうか。 (私の調査では、mimetypeを含めるか、フォールバックSVGレンダラーを指すかの言及があり、良い状態のリファレンスを見ていない)。
でSVGをサポートしているかどうかをチェックしているとします。
モダナイザー
で置き換え、フォールバックする(おそらく、プレーンな
<img>
タグを使用することで、SVG非対応のブラウザでも使用できます。
解決方法は?
SVG Primer (W3C発行) がこのトピックを扱っているので、お勧めできます。 http://www.w3.org/Graphics/SVG/IG/resources/svgprimer.html#SVG_in_HTML
を使用する場合
<object>
の場合、ラスターフォールバックは無料*です。
<object data="your.svg" type="image/svg+xml">
<img src="yourfallback.jpg" />
</object>
*ブラウザによっては、両方のリソースをダウンロードするものがあるからです。
2014年更新
-
非インタラクティブなsvgが必要な場合は、以下のようにします。
<img>
スクリプトフォールバック付き をpng版に変換する(古いIEやandroid <3用)。1つのきれいでシンプルな という方法があります。<img src="your.svg" onerror="this.src='your.png'">
.これはGIF画像と同じように動作し、もしあなたのブラウザが宣言的アニメーション(SMIL)をサポートしているならば、それらは再生されるでしょう。
-
インタラクティブなsvgが必要な場合は、以下のいずれかを使用します。
<iframe>
または<object>
. -
古いブラウザでもsvgプラグインを使えるようにする必要がある場合は
<embed>
. -
cssでsvgを使用する場合
background-image
と同様のプロパティがあります。 モダナイザー は、フォールバック画像に切り替えるための一つの選択肢であり、もう一つは、それを自動的に行うために複数のバックグラウンドに依存することです。div { background-image: url(fallback.png); background-image: url(your.svg), none; }
備考 Android 2.3 は複数の背景をサポートしていますが、svg はサポートしていないため、複数の背景を使用する戦略は機能しません。
このほかにも、以下のような読み物があります。 このブログ記事 svgフォールバックについて。
関連
-
document.forms 使用方法
-
[解決済み] bootstrapでボタンにリンクを貼るには?
-
[解決済み] input type="file "ボタンのスタイリング
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み] HTMLアンカーは'name'と'id'のどちらで作成するのが良いですか?
-
[解決済み] IMGとCSSのbackground-imageはいつ使い分ける?
-
[解決済み] HTML5でminlengthの検証属性はありますか?
-
[解決済み] div内の画像の下に余分なスペースがある
-
[解決済み] IllustratorからWeb用SVGを書き出す際の最適な設定とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HTMLのテーブルからボーダーを完全に削除する方法
-
[解決済み] 横型リストアイテム
-
[解決済み] input type="button "に背景画像を追加するには?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] CSSの三角形はどのように機能するのですか?
-
[解決済み] Sublime Text 2を使ってHTMLコードを再フォーマットするにはどうしたらいいですか?
-
[解決済み] HTMLのid属性とname属性の違い
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] メモ帳++でXML/HTMLを自動整形/インデントする方法
-
[解決済み] HTML Input="file" Accept Attribute File Type (CSV)