[解決済み] CSSとHTMLのどちらに画像をdata/base64で埋め込むべきですか?
2022-06-29 20:17:29
質問
サーバーへのリクエスト数を減らすために、私はいくつかの画像(PNGとSVG)をBASE64として直接CSSに埋め込みました。(これはビルド プロセスで自動化されています)。
このように
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAFWHRTb2Z0d2FyZQBBZG etc...);
これは良い習慣でしょうか?これを避けるべき理由があるのでしょうか?データURLをサポートしていない主要なブラウザはありますか?
ボーナス質問です。 CSS & JSについても、これを行うことは意味があるのでしょうか?
どのように解決するのですか?
これは良い方法なのでしょうか?これを避けるべき理由はありますか?
IEとの互換性が重要でなく、キャッシュよりもリクエストの保存が重要な場合、通常は一緒に使用される非常に小さなCSS画像(CSSスプライトなど)に対してのみ良い方法です。
注目すべき欠点がいくつもあります。
-
IE6 および 7 ではまったく動作しません。
-
リソースに対してのみ動作する IE8 では 32k サイズまで . これは、base64エンコード後に適用される制限です。 つまり、32768文字以下ということです。
-
これはリクエストを保存しますが、代わりに HTML ページを肥大化させます! そして、画像をキャッシュできないようにします。そして、画像はキャッシュされません。画像は、含まれるページやスタイルシートが読み込まれるたびに読み込まれます。
-
Base64 エンコーディングは、画像サイズを 33% 肥大させます。
-
gzip圧縮されたリソースで提供される場合。
data:
の画像は、ほぼ確実に、サーバのリソースにひどい負担をかけることになります! 画像は伝統的に、圧縮するために非常に CPU 負荷が高く、サイズはほとんど縮小されません。
関連
-
[解決済み] HTMLで複数選択を許さないリストボックスを作るには?
-
[解決済み] HTMLマークアップのどこに<script>タグを記述すればよいですか?
-
[解決済み] HTMLにPDFを埋め込むおすすめの方法とは?
-
[解決済み] CSSコンテンツによるHTMLエンティティの追加
-
[解決済み] CSSは常にJavascriptより優先されるべきか?
-
[解決済み] HTMLでBase64画像を表示する方法
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] Base64画像の埋め込み
-
[解決済み] JavaでBase64データをデコードする
-
[解決済み] 背景画像データをCSSにBase64で埋め込むのは良い方法ですか、悪い方法ですか?
最新
-
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 IFステートメント
-
[解決済み] 箇条書きのない順序なしリストが必要です。
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み] WebSocketとサーバー送信型イベントの比較/EventSource
-
[解決済み] HTML5でfloat入力タイプはありますか?
-
[解決済み] mailto:を使ってメールの件名や内容を設定することはできますか?
-
[解決済み] Bootstrap3による垂直方向の整列
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み] HTMLのレイアウトにテーブルを使用しない理由は?[クローズド]
-
[解決済み] 背景画像データをCSSにBase64で埋め込むのは良い方法ですか、悪い方法ですか?