1

:not タグ内で疑似クラスを使用することは可能ですか?

例:

li:not(.inner:hover):hover { // Code }

<li>
   <div class="inner"></div>
</li>

javascriptを使用せずに、内側のアイテムをホバーすると、親ホバーの効果をキャンセルしようとしています。

上記のコードの予想される結果は、li をホバーしたときですが、内部の div ではなく、li がホバー効果を取得したときです。ただし、.inner をホバリングしていない場合のみ。

アップデート

http://jsfiddle.net/eTV86/ 私が欲しいのは、.inner が黒くなると、li が赤に戻るということです。

4

2 に答える 2

2

はい。ただし、無効なクラスと疑似クラスの両方を使用しています。

li:not(.inner:hover):hover

有効なものに変更しても(この回答に従って):

li:not(.inner):hover, li:not(:hover):hover

最初のセレクターは常にliホバーに一致し、2 番目のセレクターは何にも一致しません。div.innerを に付けているため、 と一致すること:not()はありませんli

最後に、ホバーを取得するタイミングを変更したい場合、現在の CSS セレクターではそれができませliん。.innerJavaScript が必要です。

于 2012-10-11T07:53:47.803 に答える
0

疑似クラスの代わりに単純な css を使用できます

HTML

<ul>
<li class="active"><a href = "#">Link 1</a></li>
    <li><a href = "#">Link 2</a></li>
    <li><a href = "#">Link 3</a></li>
</ul>

CSS

ul li a{ color:black}
ul li a:hover { color:red }
ul li.active a:hover { color:black /*re use the same properties which is there in default style viz ul li a{} */}

デモhttp://jsfiddle.net/mKQas/2/

于 2012-10-11T07:41:05.613 に答える