Daniel unreg: Antwort (ID überschreibt Klasse des Elternelements)

Beitrag lesen

Hallo,

Zunächst erben alle <a> zwar die Eigenschaften von <div id="main">, aber warum sollte die Klasse eines Nachfahrenelementes das nicht selektiv überschreiben können?

Du sagst es schon fast: Zuerst erben die Unterlemente die Formate des Divbereichs. CSS spezifiziert aber, dass über eine ID gegebene Formate einen höheren Rang haben als über Klassen gegebene Formate, daher überschreiben ID-Formate alle Klassenformate, wenn es widersprüchliche definitionen gibt.

Wenn ich für das Beispiel da oben folgende Styles notiere:

#main { color:red; }
.anwahl { color:green; }


> bekomme ich doch selbstverständlich "Home" und "Termine" in rot, aber "Produkte" in grün angezeigt.  
  
Ja? Wenn du nur dem <div id="main"> die Schriftfarbe zuweist, müssten die Links doch in der Standardfarbe des Browsers angezeigt werden.  
Versuche:  
  
~~~css
  
a { color:blue; }  
#main a { color:red; }  
.anwahl { color:green; }  

Bei mir ist alles rot.

Noch selektiver wäre

  
#main a.anwahl { color:green; }  

was aber in diesem Beispiel auf das Gleiche hinausläuft.

Ich denke das ist eine mögliche Lösung für den Threadersteller.

Gruß;