[解決済み] 現代のウェブサイトにおけるSVGアイコンとPNGアイコンの比較
2022-10-08 19:07:26
質問
最近の Web サイトで、アイコンに PNG のみを使用するサイトがまだ少ないのはなぜでしょうか (ただし、この推測は私の観察に基づくものです)。私が知る限り、SVG よりも PNG を使用する主な理由は IE8 と SVG がより多くの CPU パワーを使用することです (ただし、単純な 1K アイコンではこれが問題であるとは思いません)。スプライトとして、画像として、またはインラインSVGとして使用する場合、私はSVGを使用する多くの利点を見ることができます(そして現在、私たちはそれを使用しています)。
(質問 研究を探しています。PNGスプライト vs SVGスプライト vs アイコンフォント は性能に重点を置いており、関連する回答はありません。 アイコンフォント対SVGのキャッシュとネットワークへの懸念 はネットワークトラフィックに焦点を当てていますが、テンプレート化などで簡単に解決できます)。
新しい Web サイトがモダン ブラウザのみをサポートする場合、SVG を使用しない理由はありますか (または - アイコンに PNG を使用する理由はありますか)。もし私たちがIE8を気にせず、SVGの使用がテンプレート化および/またはキャッシュによってバックアップされているなら、SVGのみに依存するキャッチはあるのでしょうか?
どのように解決するのですか?
SVGがよい理由。
-
あらゆるサイズのブラウザをシームレスにサポートし、特に css の
background-size
- を使用することで、拡大・縮小が可能で、例えば ホバー効果
- SVG を埋め込んで、JavaScript と DOM を使ってリアルタイムに変更することができます。
- SVG や SVG の一部を CSS でスタイルすることができます (色やアウトラインの変更など)。
- クライアントまたはサーバーで、SVG を動的に生成することができます。 テキストベースであるため、低レベルのライブラリや強力なサーバーは必要ありません。
PNG が良い選択であるかもしれない理由。
- ブラウザのサポート
- PNGスプライトシートを作成するための既存のツール
- ほとんどの人が自分のコンピュータに PNG 互換のエディタを持っています。
- グラフィックは写真やベクター化しにくい画像です。
その他の懸念事項
-
SVG エディタの中には、SVG にメタデータを保存してファイルサイズを増加させたり、意図せずにデータを公開してしまうものがあります。
- 例: InkscapeでPNGをエクスポートすると、保存時にそのディレクトリへの絶対パスがSVGに保存されることがありました/されました。
- SVG圧縮ツールはこれを削除するかもしれませんが、私はテストしていません (テストしているなら自由に編集してください)。
関連
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] セレクトボックスのプレースホルダーを作成するにはどうすればよいですか?
-
[解決済み] HTMLページからのリダイレクト
-
[解決済み] div内の要素を縦に並べるにはどうしたらいいですか?
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] HTMLのdiv要素とspan要素の違いは何ですか?
-
[解決済み] ImageMagickでSVGをPNGに変換する方法は?
-
[解決済み] CSSを使用してSVG画像の色を変更する方法(jQuery SVG image replacement)とは?
-
[解決済み】PNG vs. GIF vs. JPEG vs. 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 実装 サイバーパンク風ボタン
おすすめ
-
ローカルリソースのロードが許可されていない問題を解決する
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] inline/inline-block要素間のスペースを削除するにはどうすればよいですか?
-
[解決済み] クリアフィックスとは何ですか?
-
[解決済み] Zalgoテキストはどのように機能しますか?
-
[解決済み] メモ帳++でXML/HTMLを自動整形/インデントする方法
-
[解決済み] CSS背景のストレッチとスケール
-
[解決済み] CSSでdivを縦にスクロールできるようにする
-
[解決済み] HTML Input="file" Accept Attribute File Type (CSV)