In CSS möchte ich das einstellen a:hover für diese Menüpunkte auf eine bestimmte Farbe. Also schreibe ich:
.menu a:hover
{
color:#DDD;
}
Das möchte ich aber einstellen a:hover Farbe nur für diese <a> Tags mit der Klasse main-nav-item und nicht die main-nav-item-current, weil es eine andere Farbe hat und sich beim Hover nicht ändern sollte. Alle <a> Tags innerhalb der Speisekarte div sollte beim Hover die Farbe ändern, außer dem mit dem aktuell Klasse.
Wie kann ich das mit CSS machen?
Ich habe so etwas versucht
.menu a:hover .main-nav-item
{
color:#DDD;
}
Denken Sie, dass nur diejenigen mit der Hauptnavigationselementklasse beim Schweben die Farbe ändern, und nicht die aktuelle. Aber es funktioniert nicht.
Andreas Hase
Versuche dies:
.menu a.main-nav-item:hover { }
Um zu verstehen, wie dies funktioniert, ist es wichtig, dies so zu lesen, wie es der Browser tut. Das a definiert das Element, die .main-nav-itemqualifiziert das Element nur denen, die diese Klasse haben, und schließlich der Pseudo-Klasse :hover wird auf den qualifizierten Ausdruck angewendet, der davor steht.
Im Grunde läuft es darauf hinaus:
Wenden Sie diese Hover-Regel auf alle Ankerelemente mit der Klasse an main-nav-item die ein untergeordnetes Element eines beliebigen Elements der Klasse sind menu.
Es funktionierte! 🙂 Können Sie erklären, wie dieser CSS-Selektor vom Browser interpretiert wird? Wie in Worten. Damit ich die Logik kenne und es für andere CSS, die ich schreibe, hilfreich sein wird …