1

私が書いたら

h1:hover, li:hover {color:green;}

h1 要素と li 要素の両方がホバー効果を取得します。

私が書いた場合のバフ:

*:hover {color: green;} 

これはアンカー要素にのみ影響します。

:hover 疑似クラスはユニバーサルセレクターでは機能しませんか?

4

2 に答える 2

5

それは機能します。キャッチは、要素も一致するため、ページ上のすべてのテキストが最終的に緑色に変わることbodyです。そのため、カーソルがビューポート (つまり、ページ本体) のどこかにある限り、「マウスオーバー」効果は表示されません。 . body:hoverこの問題は、ユニバーサル セレクターを使用しない (なぜ使用するのですか?) か、色を指定することで回避できます。

ホバー効果がa要素にのみ表示される場合は、ユニバーサル セレクターがタイプ セレクターよりも限定的でない (つまり、まったく限定的でない) ため、スタイルをa:hoverオーバーライドしているスタイルがどこかにある可能性があります。*:hoverただし、カーソルをブラウザのクロムに移動するか、ウィンドウから離すなどしてビューポートからカーソルを移動するまで、テキストの残りの部分は常に緑色でなければなりません。(コメントでリンクしているフィドルの「ビューポート」はiframeであることに注意してください。)

于 2011-03-27T05:11:50.820 に答える
0

どのブラウザについて話しているのですか?少なくともChromeでは、ホバーに応じて残りの要素が変化することを中和html:hoverし、実証します。他の最新のブラウザーでは確実です。body:hover

デモ: jsfiddle.net/Marcel/cTpxS

于 2011-03-27T06:40:29.347 に答える