2009-08-26 13 views
17

Wie kann ich eine Schriftart color nur auf Hyperlinks anwenden, die bereits visited sind und mit der Maus sind?CSS - a: besucht: Hover?

Wesentlichen, was ich tun möchte, ist

a:visited:hover {color: red} 
+0

Dies scheint in FF aber nicht IE 6 zu funktionieren. Irgendwelche Arbeiten für IE 6? –

Antwort

18

Ja, das ist möglich.

Hier ist ein Beispiel:

<style type="text/css"> 
    a:link:hover {background-color:red} 
    a:visited:hover {background-color:blue} 
</style> 

<a href="http://www.google.com/">foo</a><a href="http://invalid/">bar</a> 
+0

Wird in allen Browsern unterstützt. Scheint nicht zu funktionieren in Firefox 3.5 –

+0

Arbeitete für mich auf FFox 3.5 und IE7, aber nicht IE6. – jimyi

+0

Sieht aus wie es in FF 3.5 funktioniert. Irgendwelche Arbeiten für IE 6? –

1

gibt es eine Folge zwischen Link CSS-Effekt zu nehmen .. a: Hover muss kommen nach einer: link und a: visited und a: aktiv nach einer kommen muss: schweben , um weitere Informationen unter Link verweisen ..

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

+1

Das ist zwar ein guter Ratschlag, aber auf diese Frage ist es nicht anwendbar. Es gibt nichts in der Frage, um die Reihenfolge (oder Existenz) von anderen Pseudo auf ein Elemente angewendet und "a: besucht: Hover" ist spezifischer als jede der Selektoren, die Sie in der Antwort erwähnen (und die Frage ist nicht die Regel nicht in IE6 anwenden, nicht darüber andere Regeln außer Kraft setzen). – Quentin

+0

Lieber Quentin, ich schätze deinen Kommentar, aber die Lösung, die ich poste, ist das häufigste Problem, das von vielen Leuten gesehen wird, auch wenn ich das gleiche Sequenzierungsproblem habe, nachdem ich es korrigiert habe, weil andere nicht dasselbe Problem haben. – user3110896

+0

Obwohl es ein allgemeines Problem ist, ist es nicht das Problem, über das gefragt wird. – Quentin

0

FWIW, ich war nicht in der Lage nur color auf a:visited:hover (Chrom/FF), um Stil, ohne einen Hintergrund erklärt für :link:hover (alles andere als none oder inherit scheint zu arbeiten, habe ich rgba() für Alpha-Sake verwendet).

Für diese in Chrome/FF zu arbeiten:

a:visited:hover { 
    color: #f00; 
} 

... (so etwas wie) diese vorhanden sein müssen:

a:link:hover { 
    background-color: rgba(255, 255, 255, 0); 
} 
1

Es gibt eine Ordnung CSS-Deklaration ist für diese richtig funktioniert wie bereits erwähnt, obwohl es diese spezielle Option nicht abgedeckt hat, macht es einen Unterschied. Ich habe dies in Chrome getestet.

Der Auftrag ist

a:link { color: red; } 
    a:visited { color: blue; } 
    a:visited:hover { color: yellow; } 
    a:hover { color: green; } 
    a:active { color: gray; } 

Es wird funktionieren, ob es vor oder nach einem kommt: schweben, solange beide a: hover und a: visited: Hover sind nach a: visited und vor einem: aktiv. Ich bevorzuge es, die beiden besuchten Links zusammen zu halten und die beiden zusammen zu schweben.