Gunnar Bittersmann: border beim tr

Beitrag lesen

Hello out there!

Er kennt den normales Modus

Nennt sich auch Standard-compliant-Modus. Aber in der Tat, dieser sollte die Normalität sein.

und den Quirks-Modus. Letzterer ist der Versuch des Browsers, einen Quelltext zu interpretieren, von dem er nicht weiß, was ihn erwartet, wo quasi alle tags und Elemente drin stecken können, die es je in HTML gegeben hat und teilweise nicht mehr gibt.

Alle Elemente und Attribute meinst du sicher. Und dann weiß der Browser doch, was ihn erwartet.

Also eine Art Abwärtskompatibilitätsmodus.

Eher abwärtskompatibel zu alten Versionen des IE.

Im Falle des Internet Explorers löst allerdings noch etwas anderes diesen Modus aus: Der Box-Model-Bug.

Nein, du vertauscht hier Ursache und Wirkung. Anhand der Doctype-Deklaration entscheidet sich, in welchem Modus gerendert wird. Im Quirks-Modus begeht der IE den Box-Model-Bug.

Dieser lässt sich darauf reduzieren: Wenn du in Blockelementen (div oder table) sowohl width/height als auch border/padding definierst, springt der Internet Explorer in den Quirks-Mode und versaut die Darstellung, in dem er sie ignoriert.

Nichts davon. Wenn sich der IE im Quirks-Modus befindet (keine Doctype-Angabe oder eine ohne System-Identifier), dann interpretiert er Breiten-/Höhenangaben anders. Beispiel:

#foo {  
  width: 100px;  
  padding: 10px;  
}

Dieses Element würde im Quirks-Modus 100 Pixel in der Breite beanspruchen. Auf beiden Seiten gehen jeweils 10 Pixel fürs Padding ab, so dass für den Inhalt 80 Pixel zur Verfügung stehen.

Im Standard-compliant-Modus wird entsprechend dem Box-Modell [CSS2] gerendert: Die Inhaltsbox ist 100 Pixel breit, dazu kommen zu beiden Seiten jeweils 10 Pixel Padding, so dass das Element in der Breite 120 Pixel braucht.

Ich habe inzwischen verstanden, dass der Internet Explorer in den Quirks-Mode springt, weil ich versucht habe, meine Seite XHTML-kompatibel zu machen.

Auch hier hast du was falsch verstanden. Ob Quirks- oder Standard-compliant-Modus hat mit der Frage, ob HTML 4.01 oder XHTML 1.0, nichts zu tun.

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)