>  > ベンチュラ VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 黒 BSA007B HD店

HTML & CSS

レシピ

画像

ベンチュラ VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 黒 BSA007B HD店

CSSスプライトというテクニックを使って、画像の表示制御をする方法について解説します。hover時にアイコンを切り替える方法もあわせて紹介します。

ベンチュラ 93W VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 B-5480 黒 BSA007B HD店

  • CSSスプライトの基本的な使い方が分かる
  • hover時にCSSスプライトでアイコン切り替えを行う

目次

1枚の画像でアイコンを切り替えるCSSスプライト

CSSスプライトは1枚の画像に複数のアイコンを配置し、background-positionプロパティで表示を制御するCSSテクニックの1つです。
表示する画像位置の細かい指定が必要ですが、リソースの読み込みを減らすことができるメリットがあります。

今回は次のように10個のアイコンを1枚の画像に配置して、CSSスプライトで表示を制御します ★色番号塗装発送LEXUS RX GL2# リアアンダー / ディフューザー【トムス】レクサス RX200t AGL2# リヤアンダースポイラー レッドマイカクリスタルシャイン(3R1)。

10個のアイコンを1枚の画像にした「bg_navigation.png」

今回は上のアイコン画像を、グローバルナビゲーションに表示するよう設定していきます 【国産タイヤ・アルミホイール 新品 4本セット】◆エンケイ パフォーマンスライン PFM1◆195/55R16 16インチ (195/55-16)新品ダンロップ ルマン5 【バランス調整済み!】 パーツ。

ナビゲーションにアイコンを表示
hover時の表示例

グローバルナビゲーションのHTMLから紹介します。

黒 STRADA650、TRAIL650 BSA007B ベンチュラ ベースセット PEGASO ベンチュラ STRADA650、TRAIL650 HD店 05年-07年 VENTURA アプリリア

<nav id="g_navi">
<ul>
<li><a href="/">ホーム</a></li>
<li><a href="/concept">コンセプト</a></li>
<li><a href="/menu">メニュー</a></li>
<li><a href="/access">アクセス</a></li>
<li><a href="/contact">お問い合わせ</a></li>
</ul>
</nav>

メニューボタンをul要素li要素でマークアップし、さらにナビゲーションを表すnav要素で囲います 【送料無料】 185/65R14 14インチ BIGWAY ビッグウエイ EXPLODE BPV 5.5J 5.50-14 DUNLOP ダンロップ エナセーブ RV504 SALE サマータイヤ ホイール4本セット フジコーポレーション。
ボタンはそれぞれリンクを設定するため、li要素の子孫要素としてa要素を配置します。

続いて、今回のメニューボタンのCSSコードを紹介します。
赤い箇所はCSSスプライトを使っている部分です。

CSSのコード例

#g_navi ul li a::before {
display: inline-block;
content: "";
margin-right: 10px;
width: 25px;
height: 25px;
line-height: 1.6em;
vertical-align: bottom;
background-image: url(./images/bg_navigation.png);
background-size: 125px 50px;
background-repeat: no-repeat;
}
#g_navi ul li:nth-child(1) a::before {
background-position: 0 0;
}
#g_navi ul li:nth-child(1) a:hover::before {
background-position: 0 -25px;
}
#g_navi ul li:nth-child(2) a::before {
background-position: -25px 0;
}
#g_navi ul li:nth-child(2) a:hover::before {
background-position: -25px -25px;
}
#g_navi ul li:nth-child(3) a::before {
background-position: -50px 0;
}
#g_navi ul li:nth-child(3) a:hover::before {
background-position: -50px -25px;
}
#g_navi ul li:nth-child(4) a::before {
background-position: -75px 0;
}
#g_navi ul li:nth-child(4) a:hover::before {
background-position: -75px -25px;
}
#g_navi ul li:nth-child(5) a::before {
background-position: -100px 0;
}
#g_navi ul li:nth-child(5) a:hover::before {
background-position: -100px -25px;
}

上から順に、CSSコードの意味を解説していきます。

CSSの解説

まず、擬似要素「::before」を使って、ナビゲーションの全てのボタンに共通で、アイコンを表示するための縦横25pxの空要素を設置しています。

全てのメニューボタンにアイコン表示枠を設定

#g_navi ul li a::before {
display: inline-block;
content: "";
margin-right: 10px;
width: 25px;
height: 25px;
line-height: 1.6em;
vertical-align: bottom;
background-image: url(./images/bg_navigation.png);
background-size: 125px 50px;
background-repeat: no-repeat;
}

次のようなイメージで全てボタンにアイコンを表示する枠が設置されます。

アイコンを表示する空要素のイメージ

line-heightプロパティvertical-alignプロパティはメニューボタンのテキストとアイコンの表示位置を中央揃えにするために指定しています。

全てのメニューボタンで使用する画像は同じなので、共通の指定となる画像パス、画像サイズ、繰り返し表示についてもここに記述をします D-MAX シルビア S13 S14 S15 強化タイロッド D1スペック ディーマックス。

ベンチュラ VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 黒 BSA007B HD店

205/55R16 サマータイヤ タイヤホイールセット 【送料無料】 Verthandi YH-M7 16x6.5 45 114.3x5 METALLIC GRAY + Pinso Tyres PS-91 205/55R16 91V (205/55/16 205-55-16) 夏タイヤ 16インチ, RS-R サスペンション プレサージュ TU30 2500 NA [13/8~15/6] Ti2000 DOWN リアのみ, S25DRX160M205 京セラ(株) 京セラ ドリル用ホルダ S25-DRX160M-2-05 JP店, テイン フレックスA 車高調 クラウンロイヤル GRS200 VSC76-D1SS3 TEIN FLEX A 車高調整キット サスペンションキット ローダウン コイルオーバー【店頭受取対応商品】, 【イベント開催中!】 Magical Racing マジカルレーシング シートカウル 仕様:FRP製ブラック FZ1フェザー BOSCH ボッシュ ダイハツ タントカスタム L360S H17.06~H19.11 用 イグニッションコイル IG-39, カワサキ純正 カバー アッシー シート 青/黒 16146-5129-748 JP店, SAMCO SPORT サムコスポーツ ラジエーター関連部品 クーラントホース(ラジエーターホース) カラー:バイパーレッド (限定色) RM Z 450 2004-2005, パジェロ【V25C】【96/3~97/3】ディクセルブレーキローター【HSタイプ】フロント・リア1台分, 17インチ サマータイヤ セット【適応車種:ギャランフォルティススポーツバック(CX系)】WORK エモーション M8R マットブラック 7.0Jx17ディレッツァ DZ102 215/50R17 14インチミラジーノL650系WEDS レオニス VT BMC/ミラーカット 4.5Jx14ヨコハマ エコス ES31 155/65R14

ベンチュラ VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 黒 BSA007B HD店:【T365】ハイエースバン [H11/7-H16/7][100系] カジュアル ライトベージュ Bellezza ベレッツァ シートカバー ビルシュタイン B12 BTS Pro-Kit [Cクラスワゴン W203 C240-C320] Bilstein サスペンションキット 送料無料

ベンチュラ VENTURA ベースセット 05年-07年 アプリリア PEGASO STRADA650、TRAIL650 黒 BSA007B HD店.エーテック ファイナルスピード GRガンマ 4本セット ホイール シーマ【18×7J 5-114 INSET48】50系 A-TECH FINALSPEED GR-Γ MiD アルミホイール 4枚 1台分【店頭受取対応商品】 16インチ サマータイヤ セット【クラウンロイヤル(180系 全グレード)】MANARAY ユーロストリーム JL10 ディープメタリックシルバー 6.5Jx16トランパス mpZ 215/60R16

【メーカー在庫あり】 京セラ(株) 京セラ ねじ切り用チップ PVDコーティング PR1115 5個入り 11IL100ISO JP 【5%OFFクーポン券付】グロンドマン バイク シートカバー ホンダ HONDA スベラーヌブラック/赤パイピング 被せ PCX125[JF56] GR214HC460P40


なお、アイコンの画像は元のサイズは横250px、縦100pxですが、Retinaなど高解像度のディスプレイ向けに1/2サイズを指定しています。

続いて、1つ目の「ホーム」ボタンに対するCSSスプライトを指定しています。

「ホーム」ボタンにアイコンを表示

#g_navi ul li:nth-child(1) a::before {
background-position: 0 0;
}
#g_navi ul li:nth-child(1) a:hover::before {
background-position: 0 -25px;
}

セレクタ「li:nth-child(1)」が1つ目のボタンを指します 。
これ以降のボタンも同様に、 「コンセプト」は「li:nth-child(2)」、「メニュー」は「li:nth-child(3)」と続きます。

background-positionプロパティは「X軸 Y軸」の形式で画像の表示位置を指定し、通常時は「0 0」、ホバー時(a:hover::before)には「0 -25px」となっています。
この指定は次のようなイメージです。

アイコンの表示位置を指定するイメージ

赤い四角は擬似要素「::before」で指定した縦横25pxの範囲、四角い囲みの左上にある赤丸がbackground-positionプロパティで指定した表示する開始位置です。

ホバー時はY軸のみ「-25px」ずらし、下側のアイコンに切り替える仕組みです。

2つ目以降の画像は、X軸に「-25px」ずつスライドさせて表示させます。
ホバー時のY軸を「-25px」ずらすところは共通です。

2つ目のアイコンの表示位置
3つ目のアイコンの表示位置
4つ目のアイコンの表示位置
5つ目のアイコンの表示位置

以上のように、CSSスプライトでは画像のX軸とY軸を指定して表示を切り替えます。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください Clazzio クラッツィオ クール ES-6043 タンベージュ×ブラック/タンベージュダブルステッチ フレア MJ55S。

ありがとうございます。
コメントを送信しました。

{yahoojp}jpprem01-zenjp40-wl-zd-88742