スプライト: 以前は、各画像リソースは独立した画像でした。ブラウザが Web サイト内のさまざまな Web ページにアクセスすると、これらの画像が繰り返し取得され、リソースに何度もアクセスする必要がありました。 リソースへのアクセス回数を減らすために、よく使用される複数の画像を 1 つの画像に結合します (Web ページのキャッシュ メカニズムにより、すでに使用可能なローカル リソースは省略されます。リソースが前回取得された場合は、キャッシュされたリソースの有効期限が切れるまで再度アクセスされません。[遊園地に行くのに少し似ています。すべてのゲームをプレイできるチケットもあれば、1 つのゲームしかプレイできないチケットもあります。すべてのゲームをプレイできるチケットがあれば、何度もチケットを購入する必要はありません])。 よく使用する複数の画像を 1 つの画像に結合した後、この画像を背景画像として設定し、background-position を使用して画像のさまざまな部分を表示します。 例: 以下は26文字のアルファベットです。この絵を使ってGOOGLEを綴ります。 <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="UTF-8" /> <title>ドキュメント</title> <スタイル> div{ 表示:インラインブロック; } div:最初の子{ 幅:79px; 高さ: 79px; 背景画像:url('abcd.jpg'); 背景位置:-396px 0; } div:n番目の子(2){ 幅:82ピクセル; 高さ: 82px; 背景画像:url('abcd.jpg'); 背景位置:-326px -98px; } div:n番目の子(3){ 幅:82ピクセル; 高さ: 82px; 背景画像:url('abcd.jpg'); 背景位置:-326px -98px; } div:n番目の子(4){ 幅:79px; 高さ: 79px; 背景画像:url('abcd.jpg'); 背景位置:-396px 0; } div:n番目の子(5){ 幅:48px; 高さ: 77px; 背景画像:url('abcd.jpg'); 背景位置:-81px -101px; } div:n番目の子(6){ 幅:48px; 高さ: 77px; 背景画像:url('abcd.jpg'); 背景位置:-286px 0; } </スタイル> </head> <本文> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </本文> </html> 結果: 上記の例に示すように、複数の画像を 1 つの大きな画像に配置し、background-position を使用して表示したいコンテンツを抽出できます。 実際には、多くの背景画像でこの手法が使用されています。 たとえば、JD.com ロゴ: JD.com の小さなアイコン: フォントアイコン: ご存知のとおり、ユニットフォントのファイルサイズは画像のサイズよりも小さくなります。スプライトが画像を 1 つずつ処理することを考慮して、画像をフォントに変換するという素晴らしいアイデアを思いついた人がいました (実際、フォントは元々そのように設計されていました)。 フォントに変換後、特殊なコードを使用して指定した画像を表示することができます。 フォント アイコンはフォントなので、フォントの色やフォント サイズを (歪みなく) 変更できるため、スプライトに比べて非常に明らかな利点があります。 例: [以下はフォントアイコンの作成方法ではなく、使用方法のみを示しています] 私はicomoonを使ってフォントアイコンのセットを作成し(icomoonには既製のアイコンオプションがあります)、それをダウンロードしました。以下にファイル名を記載します。 style.cssはフォントアイコンを使用する方法を提供することができます demo.html は、フォント アイコンを使用する 2 番目の方法を提供します。 次に以下を使用します: <!DOCTYPE html> <html> <ヘッド> <メタ文字セット="UTF-8" /> <title>ドキュメント</title> <スタイル> /* フォントを宣言します。次のテキストはダウンロードしたフォルダ内の css ファイルにあります */ @フォントフェイス { フォントファミリー: 'icomoon'; src: url('fonts/icomoon.eot?ni3k5c'); src: url('fonts/icomoon.eot?ni3k5c#iefix') フォーマット('embedded-opentype'), url('fonts/icomoon.ttf?ni3k5c') フォーマット('truetype'), url('fonts/icomoon.woff?ni3k5c') フォーマット('woff'), url('fonts/icomoon.svg?ni3k5c#icomoon') フォーマット('svg'); フォントの太さ: 標準; フォントスタイル: 通常; } /* 使用*/ [class^="icon-"]、[class*="icon-"] { /* フォントを変更するブラウザ拡張機能の問題を防ぐために !important を使用します */ フォントファミリー: 'icomoon' !important; 話す:なし フォントスタイル: 通常; フォントの太さ: 標準; フォントバリアント: normal; テキスト変換: なし; 行の高さ: 1; /* フォントレンダリングの改善 =========== */ -webkit-font-smoothing: アンチエイリアス; -moz-osx-font-smoothing: グレースケール; } .icon-home:before { 内容: "\e900"; } .icon-image:before { 内容: "\e90d"; } .icon-music:before { 内容: "\e911"; } div{ font-family:'icomoon';/* 上記と一致している必要があります*/ } </スタイル> </head> <本文> <div class=".icon-imagee"></div> <!-- 最初の使用方法: style.css ファイルをインポートし、指定されたアイコンのクラスセレクターのプロパティを対応するクラス属性値として使用します --> <div></div> <!-- 2 番目の使用方法: タグのフォント宣言を行い、demo.html を開いてアイコンをコピーします (左側にコード 1 つ、右側にアイコン 1 つ) --> <!-- 最初の方法は ::before を使用して追加することですが、他の ::before メソッドを使用して追加することもできます --> </本文> </html> 要約する 上記はエディターが紹介したスプライトとフォントアイコンの CSS 実装です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、エディターがすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 |
>>: ウェブデザインと制作におけるハイパーリンクの効果の向上
目次序文v-model の修飾子:怠け者トリム番号さまざまな入力タイプやその他の要素での v-mod...
目次Linux netstat コマンド1. TCP接続ステータスの詳細な説明2. コマンド形式3....
参考までに、Winでmysql5.7をインストールします。具体的な内容は次のとおりです。 @Auth...
webpackjs ファイルをパッケージ化するときに、次に示すように、index.html インタ...
MySQL の mysql 5.7.18 zip バージョンは、クリックして次のステップをクリックし...
GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...
Windows のデフォルトのスクロール バー スタイルは見苦しく、プロジェクト内でスクロール バー...
テーブルフィールドを追加する テーブルtable1を変更し、トランザクタvarchar(10)をNu...
1. yumソースを更新するCentOS7 のデフォルトの yum リポジトリの PostgreSQ...
みなさんこんにちは。私は梁旭です。ご存知のとおり、Linux ではデバイス ファイルも含めすべてがフ...
<iframe src=”test.jsp” width=”100″ height=”50″ ...
目次1. ルーティング関連オブジェクト2. ルーティングオブジェクトの場所3. ルーティング構成4....
以前、モバイル適応に関する記事を書きました。非常に長く、内容が多すぎて読みづらいものでした。そこで、...
この記事では、参考までに、簡単なスネークゲームを実装するためのjsキャンバスの具体的なコードを共有し...
Linux 仮想マシン: VMware + Ubuntu 16.04.4 Windows ネイティブ...