Sven Rautenberg: CSS-Element "html", wo erklärt?

Beitrag lesen

Moin!

Was gilt z.B. bei

p {
    font irgendwas ...
  }

html {
    font anders ...
  }

Hat jetzt ein <p> den Font "irgendwas" oder den Font "anders"? Ich nehme an bei vertauschter Reihenfolge wäre es klar der Font "irgendwas".

Nein.

p wird immer ein Nachfahre von html sein. Also ist der Elementselektor, der p selektiert, hier von hoeherer Spezifitaet, als der, der html selektiert.

Der Begriff "Spezifität" hat für CSS eine besondere, definierte Bedeutung - und diese Bedeutung trifft hier nicht zu.

Die Font-Angabe für <html> wird natürlich weitervererbt an die Kindelemente. Da aber für <p> explizit eine andere Font-Angabe existiert, wird die Vererbung hier unterbrochen, es gilt also nicht die indirekte Font-Angabe aus der html-Regel, sondern die explizite aus der p-Regel des CSS.

Das hat nichts mit Spezifität der CSS-Selektoren zu tun, denn diese ist hier bei beiden identisch: 0-0-0-1. Siehe auch http://de.selfhtml.org/css/formate/kaskade.htm#spezifitaet

- Sven Rautenberg