2016-11-20 34 views
0

アイコンはSVGに保存されています(品質のため)。私は優れている方法を知っているしたいと思います:SVGイメージとSVG埋め込み

  1. プットSVGを画像<img src="icon.svg">
  2. HTMLで右置く
  3. <svg>... </svg>

として時にはそれが複雑な形状です。たとえば、Androidアイコン:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="40" height="40" viewBox="0 0 32 32"> 
<path d="M5,8.978c-1.104,0-2,0.896-2,2v8c0,1.104,0.896,2,2,2s2-0.896,2-2v-8C7,9.873,6.104,8.978,5,8.978z" fill="#85C808"/> 
<path d="M27,8.978c-1.104,0-2,0.896-2,2v8c0,1.104,0.896,2,2,2s2-0.896,2-2v-8C29,9.873,28.104,8.978,27,8.978z" fill="#85C808"/> 
<path d="M8,24.978h2v5c0,1.104,0.896,2,2,2s2-0.896,2-2v-5h4v5c0,1.104,0.896,2,2,2s2-0.896,2-2v-5h2v-15H8V24.978z" fill="#85C808"/> 
<path d="M20.723,2.53l1.027-1.779c0.139-0.24,0.057-0.545-0.184-0.684c-0.238-0.139-0.545-0.057-0.683,0.184 l-1.001,1.734C18.732,1.345,17.41,0.978,16,0.978c-1.409,0-2.731,0.367-3.882,1.008L11.116,0.25 c-0.139-0.239-0.443-0.321-0.684-0.183c-0.238,0.138-0.32,0.443-0.183,0.683l1.028,1.78C9.294,3.986,8,6.328,8,8.978h16 C24,6.328,22.706,3.986,20.723,2.53z M13,5.978c-0.553,0-1-0.447-1-1s0.447-1,1-1s1,0.447,1,1S13.553,5.978,13,5.978z M19,5.978 c-0.553,0-1-0.447-1-1s0.447-1,1-1s1,0.447,1,1S19.553,5.978,19,5.978z" fill="#85C808"/> 
</svg> 

最初のケースでは、httpリクエストの数を減らしました。後者の場合、ブラウザは比較的複雑なSVGをレンダリングします。または、ブラウザは最初のケースでそれをレンダリングしますか?または、ブラウザは次回のためにそれをキャッシュすることができますか?

アイデア?

+1

ブラウザは常にsvgマークアップをレンダリングしますが、他のコンポーネントでこれを行う必要がありますか?イメージタグは、実際にはキャッシュすることができますが、常に追加のリクエストを意味します。 – arkascha

答えて

1

画像が複雑な場合は、通常はCSSスタイルシートを埋め込んでいないのと同じ方法で埋め込むことをお勧めします。このようにして、ブラウザは画像をキャッシュして後で使用することができます。

画像が非常に単純な場合は、HTTPリクエストのオーバーヘッドが画像をダウンロードするだけのものよりも大きいので、私はそれを埋め込むことをお勧めします。

+0

一方、追加のHTTPリクエストを意味します。 – arkascha

+0

複雑なSVGイメージを含む2つのページにアクセスした場合、もう1つHTTPリクエストを行うか、イメージを再度ダウンロードしますか? – glauxosdever

+0

あなたの声明には、「あれ」があります。利点と欠点は特定の状況に完全に依存するため、この質問には明確な答えは不可能です。それでも、あなたは明確に言った声明を出しました。 _Why?_ – arkascha

関連する問題