Warum ein: Schwebe erhalten in CSS außer Kraft gesetzt?
-
23-08-2019 - |
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?
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 !!