Sönke Tesch: und noch eine Frage...

Beitrag lesen

#body {background-color:yellow;padding:0px;border:3px solid black;height:500px;margin:10px}

Die Grund-Hintergrundfarbe der Browser (ich teste mit IE6, Mozilla 1.0, Opera 6, alle auf WIN98) ist weiß.

Wenn ich jetzt dem Body-Element eine Hintergrundfarbe zuweise, so dürften nur Content- und Padding-Bereich eingefärbt werden. Tatsächlich wird aber auch der Margin-Bereich (bei Opera6) und sogar der ganze Containing-Block (bei IE6 und Mozilla 1.0) eingefärbt.

Das sieht mir in der Tat nach einem Fehler aus. Wenn Du Deinem Stylesheet noch ein "html {background-color:white}" hinzufügst, wird der Margin-Bereich nämlich weiß, d.h. dort ist noch etwas, was vorher fälschlicherweise gelb eingefärbt wurde, obwohl doch die Benutzerangaben über denen der Webseite stehen sollten.

Dem Verhalten von IE6 und Mozilla gemäß müßte das Body-Element selber der Initial-Containing-Block sein. Das aber widerspricht m.E. der CSS2 Spezifikation und auch der Browser-Praxis, denn wozu braucht ein Containing-Block noch einen Margin-Bereich?

Warum soll er keinen haben? Gleiches Recht für alle :) Mit "containing block" ist erstmal nur das Element gemeint, daß das aktuelle beinhaltet.

Gruß,
  soenk.e