0

次のように、しばらくの間、jQuery を使用してバックグラウンド ロールオーバーを行ってきました。

 $("#menusearchbutton").hover(function(){$(this).css('backgroundPosition', '0px -24px');},function(){$(this).css('backgroundPosition', '0px 0px');});

しかし最近、IE6-8 で :hover を含む疑似クラスを使用できる Selectivizr に出会いました。

jQueryを使用するよりも良い方法でしょうか? もちろん、どちらも JS であるため、ユーザーが JavaScript を有効にするという要件を回避することはできません。しかし、それ以外に、一方を他方の代わりに使用することで得られる利点はありますか?

乾杯 :)

4

2 に答える 2

2

:hoverすでにIE7 +で動作しますが、IE6では<a>要素でのみ許可されています...したがって、IE6が問題にならない限り、ライブラリなしでCSSだけを使用できると思います。

#menusearchbutton { background-position: 0px 0px; }
#menusearchbutton:hover { background-position: 0px -24px; }
于 2010-12-23T10:34:58.897 に答える
0

ニックは正しいです。ネイティブの :hover 機能を使用する必要があります。注意すべき点がいくつかあります:に属性<a>がない場合、ホバー効果は IE でうまく機能しません。href=""忘れないでください。

また、div にホバー効果を持たせたいことがよくあります。これは、div のデフォルト表示が原因です。<a>タグを div として表示する場合は、CSS で使用しdisplay:blockます。

于 2010-12-23T16:25:32.977 に答える