質問

私はこの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の定義で   効果的!!

http://www.w3schools.com/CSS/css_pseudo_classes.aspする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top