なぜない:ホバーCSSで上書きされますか?
-
23-08-2019 - |
質問
私はこのCSSを使用している場合:
a:link { color: blue; }
a:hover { color: red; }
#someID a:link { color: black; }
IDの下のリンクは常にホバーに黒で表示されます。私は:hover
セレクタ、のみ:link
セレクタをオーバーライドしていないよ、しかし、IDを使用して、より高い優先順位を与えることを承知している、そうすべき赤でないホバー表示?
解決
:link
疑似クラスは、あなたがそれの上にマウスを移動する場合であってもリンクに適用されます。 idのスタイルは、より具体的であるとして、それは他の人よりも優先されます。
:hover
スタイルが全く:link
スタイルをオーバーライドすることを唯一の理由は、それがスタイルシートに後で来ることです。あなたがこの順に配置した場合:
a:hover { color: red; }
a:link { color: blue; }
:link
スタイルは、スタイルシートの後半であると:hover
のスタイルを上書きします。あなたはそれの上に置くと、リンクは青色のままです。
あなたは:hover
スタイルとして、それは、少なくともとして特定作り、スタイルシートで、それの後に配置する必要が黒いリンクの:link
スタイルの作品を作るために、
a:link { color: blue; }
a:hover { color: red; }
#someID a:link { color: black; }
#someID a:hover { color: red; }
他のヒント
W3Schoolsの中で説明したように、
順序の問題が、あります:
注:リンク:ホバーは後に来なければなりません そして、:CSSの定義の中で訪問します 有効であるために!!
注:アクティブが後に来なければならない:ホバー であるためにはCSSの定義で 効果的!!
所属していません StackOverflow