Hallo, JotKa.
Füge ich nun am Anfang der Seite folgendes DOCTYPE-Statement hinzu:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Das löst u.a. den standards compliant rendering mode aus, sodass der MSIE das CSS-Boxmodell gemäß dem CSS-Standard interpretiert, außerdem ist die Fehlertolerenz geringer. Näheres dürfte sich im MSDN finden, z.B.: http://msdn.microsoft.com/library/en-us/dnie60/html/cssenhancements.asp.
dann liefert der IE 5.5 weiterhin das Erwartete, der IE 6 dagegen rückt nun auch den zweiten Absatz ein.
.foo { text-indent=0; }
^
Eigenschaft und Wert müssen mit einem Doppelpunkt getrennt werden, es ist voraussehbar, dass IE 6 diesen Fehler im standards compliant mode als Fehler erkennt. Beim IE 5.5 war diese Syntax AFAIK anscheinend Gang und Gebe, jedoch ist sie eine Erfindung von Microsoft, deshalb ist es richtig, dass IE 6 die komplette Deklaration ignoriert, wenn die dokumenttypdefinition selbigen strikten Interpretationsmodus auslöst.
Bug oder Feature? Wer kann mir weiterhelfen? Sind die Spezifikationen von HTML und XHTML da wirklich unterschiedlich?
Dein Fall hat m.M.n. nichts mit den Unterschieden zwischen HTML und XHTML zu tun. Wenn du eine volle HTML 4.01-DTD mit SYSTEM identifier an den Anfang des Dokuments stellen würdest, würdest du vermutlich dieselbe Beobachtung wie mit der XHTML-DTD machen. Das Problem dürfte alleinig an der fehlerhaften CSS-Deklaration liegen.
Mich würde sehr interessieren, woher du das mit dem Gleichheitszeichen als Trennzeichen zwischen Eigenschaft und Wert hast. Selfhtml verbreitet nicht so einen Unsinn. Vielleicht war es nur ein Flüchtigkeitsfehler (siehe HTML-Attribute oder Wertzuweisungen bei Programmiersprachen).
Mathias