2012-03-16 15 views
0

ナビゲーション名に画像を使用し、ホバー上の各メニュー項目の画像を変更したいと思います。これを行うための最良の方法は何ですか?例が素晴らしいだろう。各リスト項目は、通常、アクティブ、マウスオーバーのための独自のイメージを持ちます。各リスト項目ナビゲーションの背景画像が異なるか?

メニュー名をマウスで押しているように見せようとしています。

+0

[SO]へようこそ。 [faq]を読んでください。これまでに何を試しましたか?何が悪かったのか?次のステップは何だと思いますか?これらの質問に答えることができない場合、私たちはあなたのお手伝いができません。 – zzzzBov

+0

私は伝統的な背景画像を変更しようとしました。それは各リストアイテムがそれ自身のイメージを持っているので動作しません。 – Ibanez

+0

あなたが試したことのいくつかのコードを投稿すると、[jsfiddle](http://jsfiddle.net)が役立つかもしれません。 – zzzzBov

答えて

2

私はあなたのためにアップ装備このjsfiddleを得ました。 background-imageプロパティと:hoverと:active CSSセレクタが関係します。あなたはそれらをhereで読むことができます。

パフォーマンスの理由から、個々の画像を使用する代わりに、spritesをお読みになることをおすすめします。

4

あなたは変更したい要素の後ろにカーソルを置きます。 私はコードを試していない非常に簡単な例でしたので、うまくいかない場合は申し訳ありませんが、あなたはドリフトを取得します。

HTML:

<ul> 
<li class="link1"><a>Link 1</a></li> 
<li class="link2"><a>Link 2</a></li> 
<ul> 

CSS:

li.link1 { 
background: url('img/link1_normal.png'); 
} 

li.link1:hover { 
background: url('img/link1_hover.png'); 
} 


li.link2 { 
background: url('img/link2_normal.png'); 
} 

li.link2:hover { 
background: url('img/link2_hover.png'); 
} 
+1

スプライトの使用が優れています。 –

+3

私は知っていますが、最も単純なCSSテクニックの使い方を知らない人にとっては、過度に複雑なものは何でしょうか?すべてはその場所と時間を持っています。 – justanotherhobbyist

+0

ポイントを獲得しました。 +1。 –