Hi. Mein Beitrag zur Klärung / Ergänzung:
Steffile geht wahrscheins davon aus, dass es vor allem Sinn macht, Links bzw. "Anker" mit :hover zu bestücken. Und weil das Anker-Element in HTML mit "a" notiert wird, kam wohl der Vorschlag.
.navigationschrift a wäre irgend ein Link in einem klassifizierten Element (zB "DIV", "UL" oder "LI"), welches die Klasse navigationschrift hat.
<div class="navigationschrift" style="…irgendwas…">
<a id="zuFormatierenderAnker">Linkt-Text</a>
</div>
Dabei wäre es egal, wie tief die Schachtelung gehen muss, bis das "A"-Element angesprochen wird. Jedenfalls macht das Leerzeichen in diesem Vorschlag Sinn.
Um ein "A"-Element direkt eine Ebene unterhalb von ".navigationschrift" anzusprechen, müsste es so notiert werden:
.navigationschrift>a {
…irgendwelche Styles für normale Links
} /* oder auch mit Leerzeichen, das ist egal */
.navigationschrift > a:hover {
color: green;
}
Dein Vorschlag a.navigationschrift würde bedeuten, dass das "A"-Element selbst die Klasse "navigationschrift" hat. Klasse und Element sind also "auf gleicher Ebene". Das Beispiel von Steffile hingegen hat mit Vererbung zu tun, dem Grundkonzept von CSS.
a.* oder a.[Leerzeichen] können nicht funktionieren, weil dies zwei Zeichen sind, mit denen eine CSS-Klasse nicht beginnen darf.
So. Jetzt mal was GANZ anderes…:
Es kann in bestimmten Fällen dazu kommen, dass :hover ignoriert wird, wenn die Reihenfolge der Notaton von Pseudoklassen nicht eingehalten wird. Diese ist:
:link – :visited – :focus – :hover – :active
siehe dazu auch http://de.selfhtml.org/css/eigenschaften/pseudoformate.htm#link_visited_focus_hover_active