css sprites_html/css_WEB-ITnose
CSS スプライトとは何ですか?
簡単に言うと、合意されたルールに従って、Web ページ内の多数の小さな画像を 1 つの大きな画像に描画し、背景の背景位置を使用して必要な画像を描画することです。
おそらくあなたは尋ねるでしょう、なぜこれをするのですか?
実際、これは http リクエストを削減し、Web サイトのパフォーマンスを向上させることを意味します。実際、各画像はサーバーからダウンロードされるため、多数の画像を同時にダウンロードすると、それに対応する数の http リクエストが発行されます。ただし、ブラウザーによっては画像の数に制限があります。通常は 1 ~ 10 の範囲でダウンロードできるため、Web サイトに多くの写真がある場合、インターネット速度がどんなに速くても、必然的に Web サイトのパフォーマンスに影響します。これが CSS スプライト技術が必要な理由です。
それでは、一緒にデモを書いて例を挙げてみましょう。
下の図に示すように、コントロール ボタンを実装したい場合:
マウスが図内の各コントローラー ボタンに移動すると、イベントがトリガーされ、赤い領域に変わります。が表示され、各ボタンは独立して機能し、各領域を小さな画像に設定できます。
しかし、バックエンドを何回リクエストする必要がありますか? ! !
Web サイトのパフォーマンスを最適化する方法の 1 つは、http リクエストを減らすことです。
ここでは、http リクエストを減らすために画像を結合する必要があるため、CSS スプライトを使用します。
まず、特定のルールに従って、必要なすべての小さな画像を 1 つの大きな画像に結合して、必要な画像を作成します。
下の図は、各ボタン上にマウスを移動させていない状態を示しています:
下の図は、マウスを各ボタン上に移動した状態を示しています:
次に、各ボタン領域のサイズを設定します。上の図 1 に示すように、幅は 31 ピクセル、高さは 29 ピクセルで、背景画像は通常の状況における画像として定義されます。
なぜ幅が 31 で高さが 29 なのかと疑問に思うかもしれません。
それぞれの小さな絵、つまりそれぞれのボタンの幅と高さが非常に大きいためです。
次に、background-position 属性を使用して、必要な画像の部分をスナップダウンします。必要に応じて、background-position を 0 0 に設定します。これで問題ありません。
最後に、マウスが対応するボタンに移動すると、背景が明るい赤色の状態パターンに変わり、背景位置を使用して必要な小さい画像がダウンロードされます。
実装後の詳細なコードは以下を参照してください
<!DOCTYPE html> <head> <title>js_test</title> <style type="text/css"> .ptz { width:31px; height:29px; margin-right:1px; margin-bottom:6px; cursor:pointer; float:left; background:url(ptz.gif) no-repeat; } .tmain, .mmain, .bmain { clear:left; } .tl { background-position:0 0; } .tm { background-position:-34px 0; } .tr { background-position:-68px 0; } .add { background-position:-102px 0; } .search { background-position:-136px 0; } .subtract { background-position:-170px 0; } .ml { background-position:0 -32px; } .mm { background-position:-34px -32px; } .mr { background-position:-68px -32px; } .focus { background-position:-136px -32px; } .bl { background-position:0 -64px; } .bm { background-position:-34px -64px; } .br { background-position:-68px -64px; } .iris { background-position:-136px -64px; } .slide { width:192px; height:18px; clear:left; background-position:0 -96px; } .slideBtt { width:14px; height:16px; margin-left:22px; background-position:0 -121px; } .indicate { clear:left; width:189px; height:29px; border:1px solid #C1C0C0; border-radius:3px; } .outterBtt { float:left; border-right:1px solid #C1C0C0; width:37px; height:100%; } .lastOut { border:0; } .btt1 { width:14px; height:14px; margin:8px 0 0 12px; background-position:-28px -127px; } .btt2 { width:20px; height:20px; background-position:-57px -127px; margin:7px 0 0 11px; } .btt3 { width:12px; height:16px; background-position:-90px -128px; margin:8px 0 0 10px; } .btt4 { width:20px; height:18px; background-position:-118px -128px; margin:9px 0 0 9px; } .btt5 { width:15px; height:15px; background-position:-152px -128px; margin:8px 0 0 12px; } .tmain div:hover, .mmain div:hover, .bmain div:hover, .outterBtt div:hover { background-image:url(ptzon.gif); } </style> </head> <body> <div class="tmain"> <div class="ptz tl"></div> <div class="ptz tm"></div> <div class="ptz tr"></div> <div class="ptz add"></div> <div class="ptz search"></div> <div class="ptz subtract"></div> </div> <div class="mmain"> <div class="ptz ml"></div> <div class="ptz mm"></div> <div class="ptz mr"></div> <div class="ptz add"></div> <div class="ptz focus"></div> <div class="ptz subtract"></div> </div> <div class="bmain"> <div class="ptz bl"></div> <div class="ptz bm"></div> <div class="ptz br"></div> <div class="ptz add"></div> <div class="ptz iris"></div> <div class="ptz subtract"></div> </div> <div class="ptz slide"> <div class="ptz slideBtt"></div> </div> <div class="indicate"> <div class="outterBtt"> <div class="ptz btt1"></div> </div> <div class="outterBtt"> <div class="ptz btt2"></div> </div> <div class="outterBtt"> <div class="ptz btt3"></div> </div> <div class="outterBtt"> <div class="ptz btt4"></div> </div> <div class="outterBtt lastOut"> <div class="ptz btt5"></div> </div> </div> </body></html>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。
