CSSのスプライトに関する簡単な質問があります: 同じ画像をCSSファイルに2回含めると2つのHTTPリクエストが送信されますか?たとえば、同じアイコンセットの画像から2つの異なるボタンをロードする場合は、画像を1回だけ挿入する別の方法がありますか?CSSと画像スプライト
4
A
答えて
7
ブラウザは、2回目のキャッシュから取得されるようにイメージをキャッシュします。
しかし、このような状況でしたいのは、CSSにその仕事をさせることです。
たとえば、これらのボタンが<a>
の場合。
a {
background: url('img/icons.png');
}
.btn-1 {
background-position:0 0;
}
.btn-2 {
background-position: 0 -60px;
}
0
はいますが、サーバーのクライアントは、クライアントが条件付きGETリクエストを実行し、アクセスが許可されている場合 を変更していない304
304 HTTPを受ける必要がありますが、文書が変更されていませんこの状態コードで応答すべきである(SHOULD)。 304応答はメッセージ本体を含んではならない(MUST NOT)。したがって、ヘッダーフィールドの後の最初の空行で常に終了する。
画像は2回送信されず、代わりにキャッシュから使用されます。そのほかに
+0
いいえ、各画像はページごとに1回のみ要求されます。 – Guffa
4
オラフルが言った、あなたはまた、URI参照は一度だけ発生することをあなたのCSSを書き換えることができます:つまり
.btn-1,
.btn-2 {
background:url('img/icons.png') 0 0;
}
.btn-2 {
background-position: 0 -60px;
}
関連する問題
- 1. cssスプライト画像位置
- 2. 実装CSSスプライト画像
- 3. 構文ヘルプ - 背景画像スプライトCSS
- 4. 位置スプライト画像
- 5. 高解像度CSSスプライト
- 6. CSSで画像URLを呼び出さずにスプライト画像をフェーディングする
- 7. コンパス:スプライトの各画像にスプライトと幅と高さを生成
- 8. CSSスプライトとスクリーン
- 9. CSSスプライトとIE6
- 10. CSSスプライトを使用した2つの背景画像
- 11. CSS - 画像スプライト:アクティブではありません。つまり、
- 12. JS onclickの問題がCSSスプライトの画像を呼び出す
- 13. CSSスプライト(画像)メニューのアクティブクラスを設定する
- 14. CSSスプライトでフォーム要素に背景画像を配置する
- 15. CSS - 背景の位置 - 通常の画像の例でスプライト
- 16. CSSスプライト画像とレスポンシブデザイン。フルサイズと応答サイズの両方をロードしますか?
- 17. ナビゲーション用の画像スプライト
- 18. クロッピング背景画像スプライト
- 19. SVGスプライト - 規模にこのようなCSSの背景画像としてSVGスプライトを使用して
- 20. は、背景のCSSスプライト画像の幅を設定する方法はあり背景のCSSスプライト画像の幅
- 21. liマウスオーバーで変化する画像(スプライト画像)
- 22. リンクhtml cssと画像
- 23. CSS流体レイアウトと画像
- 24. 画像とテキストのCSSカードオーバーレイ
- 25. CSSテクスチャと画像整列%
- 26. 画面解像度とCSS
- 27. 背景画像としてのSVG画像スプライトChromeでのズームクラッシュ53
- 28. コンパススタイル - スプライト:柔軟な背景画像
- 29. Pygame - スプライトに画像をロードする
- 30. ナビゲーションバーボタンのアニメーション化されたスプライト画像
を:あなたはまだ2つの要求のための_potential_を持っていますが、実際には、ブラウザはそれらを避けるほどスマートです。 –
これはうまく見えますが、Youtubeは "master-sprite"というCSSクラスにスプライトを含めるのと同じ方法を使用し、アイコン/イメージが必要なたびにそのCSSクラスを呼び出します。 – Dennis