Unterschied von html und body im CSS?

1 Antwort

Da der HTML-Tag das Root-Element des DOM darstellt, stellt es auch den Startpunkt für die Vererbungshierarchie dar. Vererbt werden allerdings nicht alle Properties.

Dazu ein Beispiel:

html {
  background: red;
}

body {
  background: yellow;
}

Was meinst du, welche Hintergrundfarbe die Webseite haben würde? Richtig, sie wäre rot.

Der Hintergrund wird vom body-Element nicht geerbt, aber das html-Element nimmt die Farbe des body-Elements auf, wenn es keinen eigenen, intransparenten Wert definiert.

Auf CSS-Tricks gibt es noch einen guten Artikel, der auf die Frage eingeht, für welche Fälle es sinnvoller ist, den html-Selektor zu verwenden und für welche stattdessen den body-Selektor: https://css-tricks.com/html-vs-body-in-css/.