Frage

Wenn ich diese CSS:

a:link { color: blue; }
a:hover { color: red; }
#someID a:link { color: black; }

Links unter der ID erscheinen immer in schwarz auf schweben. Ich bin mir bewusst, dass eine ID mit einer höheren Priorität gibt, aber ich bin mit dem :hover Wähler nicht überschreiben, nur die :link Wähler, so sollte nicht die Hover-Anzeige in rot?

War es hilfreich?

Lösung

Die :link Pseudo-Klasse gilt für den Link, auch wenn Sie über sie schweben. Wie der Stil mit der ID spezifischer ist es die andere außer Kraft setzt.

Der einzige Grund, dass der :hover Stil den :link Stil überhaupt außer Kraft gesetzt ist, dass es später im Stylesheet kommt. Wenn Sie sie in dieser Reihenfolge platzieren:

a:hover { color: red; }
a:link { color: blue; }

der :link Stil ist später im Stylesheet und überschreibt den :hover Stil. Die Verbindung bleibt blau, wenn Sie den Mauszeiger über sie.

Um die :hover Artarbeit für den schwarzen Link machen Sie es zumindest machen müssen so spezifisch wie der :link Stil, und legen Sie es, nachdem es im Stylesheet:

a:link { color: blue; }
a:hover { color: red; }
#someID a:link { color: black; }
#someID a:hover { color: red; }

Andere Tipps

Es ist ein Befehl Frage, wie in W3Schools erklärt:

  

Hinweis: a: Hover MUSS kommen nach einer: link   und a: in der CSS-Definition besucht haben   Um wirksam zu sein !!

     

Hinweis: a: aktiv nach einer kommen muss: schweben   in der CSS-Definition zu sein, um   wirksam !!

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top