>  > 【50系 エスティマ セカンドステージ】エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ バイザーなし

HTML & CSS

レシピ

画像

【50系 エスティマ セカンドステージ】エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ バイザーなし

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

【50系 エスティマ セカンドステージ】エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ マック バイザーなし LINEA

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

目次

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

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

今回は次のように10個のアイコンを1枚の画像に配置して、CSSスプライトで表示を制御します オデッセイ用 ブラケツトエンジンリヤーマウンテイングオデッセイオデッセイアルマス 50827-S3N-000。

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

今回は上のアイコン画像を、グローバルナビゲーションに表示するよう設定していきます シビック用 フエンダーR.フロントインナーシビック5Dシビック5Dアルマス 74101-S6A-000。

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

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

バイザーなし 50系/エスティマ セカンドステージ】エスティマ ピラーガーニッシュ バイザーなし ピラーガーニッシュ ハイブリッド AHR20W 【50系 エスティマ

<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要素で囲います 【★送料無料キャンペーン中】 【D2 レーシングスポーツ】E 81 130 07~12 5 X 120ストリートキャリパー (ダストカバー付) 6 POT 356X32 リジット。
ボタンはそれぞれリンクを設定するため、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プロパティはメニューボタンのテキストとアイコンの表示位置を中央揃えにするために指定しています。

全てのメニューボタンで使用する画像は同じなので、共通の指定となる画像パス、画像サイズ、繰り返し表示についてもここに記述をします 【クーポン利用で最大1200円OFF!】パワーハウス アミューズ R1チタン ホンダ S2000 AP1/AP2用 【マフラー】power house amuse R1 TITAN【車関連の送付先指定で送料無料】。

【50系 エスティマ セカンドステージ】エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ バイザーなし,[#tong##]

エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ バイザーなしメーカーセカンドステージ【SECOND STAGE】メーカーコードES0853カテゴリピラー適合代表車種50系 エスティマ ESTIMA ACR50/55 GSR50/55※詳細な適合の事前確認はお問い合わせください。お届け納期メーカー及び商品によって異なる為、お急ぎの方はお問い合わせください。※ショッピングカート受注後でも納期確認後のキャンセルは可能です。発送送料お届けの地域によって異なります。目安送料は ¥1,620円(税込) となります。※個人のお客様への発送は追加料金が掛かる場合があります。ご自宅へ発送希望の方は予めお問い合わせください。注意事項※商品画像は装着画像や塗装済みのイメージ画像の場合がございます。カラーが異なる場合もございますのでご注意ください。※塗装が必要な外装品(エアロパーツ)は特性上下地処理が必要となります。表面の小傷等は不良ではございません。※商品の装着後(塗装後含)のキャンセルはお受け致しかねます。商品が届きましたら必ず装着前にご確認をお願い致します。商品タグES0853 エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュ バイザーなし ピラー セカンドステージ SECOND STAGE 50系 エスティマ ESTIMA /ACR50/55 GSR50/55詳細は・・・お気軽にお問い合わせください。関連商品バリエーション (別仕様商品)エスティマ 50系/エスティマ ハイブリッド AHR20W ピラーガーニッシュこの商品には別の仕様の商品が設定されています。1.バイザーなし(現在の商品)2.バイザーあり


なお、アイコンの画像は元のサイズは横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軸を指定して表示を切り替えます。

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

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください ブリヂストン POTENZA ポテンザ S007A サマータイヤ 235/45R18 WEDS WedsSport ウェッズ スポーツ RN-05M ホイールセット 4本 18インチ 18 X 7.5 +45 5穴 114.3。

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

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