Hi,
Diese Selektoren-Schreibweise hat den Vorteil, daß man eben nicht allen Links einzeln die Klasse mitgeben muß, sondern diese nur einmal für das umliegende Element setzen muß.
Ja, klar ... darum machen wir es ja alle so, aber die _eigentliche_ Frage war und ist:Ist a {abc:xyz;} a:hover {abc:123;} ein logischer Widerspruch oder ist das so gedacht?
wenn man mal davon absieht, daß abc keine CSS-Property ist ;-)
Das bewirkt, daß erstmal ALLE a-Elemente als Wert für die abc-Property xyz bekommen.
Sobald aber :hover auf eines der a-Elemente zutrifft (sprich: der Mauszeiger befindet sich über ihm), dann bekommt die Eigenschaft abc den Wert 123.
Ob es funktioniert oder nicht, ist unter anderem davon abhängig, welche Effekte man erzielen will.
Zulässig ist jede Reihenfolge, nur die Auswirkungen sind unterschiedlich.
Effekte? Vielleicht lerne ich ja heute viel mehr dazu, als ich beim Aufstehen dachte,
aber wenn ich als "Effekt" haben möchte, dass meine Seite einfach den genutzten Attributen
entsprechend formatiert wird, _muss_ ich alle Pseudoklassen schon in der richtigen
Reihenfolge nutzen, oder?
Angenommen, Du definierst
a:link { color:blue; }
a:visited { color:yellow; }
a:hover { color:red; }
dann erhältst Du blau für nichtbesuchte nichtgehoverte Links, gelb für besuchte nichtgehoverte Links und rot für gehoverte a-Elemente (egal ob Link oder nicht, egal ob besucht oder nicht).
Willst Du aber, daß für besuchte Links kein hover-Effekt eintritt, machst Du einfach
a:link { color:blue; }
a:hover { color:red; }
a:visited { color:yellow; }
daraus.
Die Reihenfolge hängt also vom gewünschten Effekt ab.
cu,
Andreas
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/