Das Problem: In IE8 funktioniert der CSS Child Selektor > nicht. Warum auch immer. In den “Entwicklertools (F12)” wird im Reiter “Layout” eine “width” von 290px gezeigt, im Reiter “Format” steht ganz klar die “width” auf “500px !important;”.
Was nun?
Nach langer Suche die Lösung und zwar bei Microsoft direkt.
Note Combinators are enabled only in standards-compliant mode (strict !DOCTYPE).
Quelle: http://msdn.microsoft.com/en-us/library/aa358819.aspx
Und in meinem Fall war es dann so, dass es eine alte “Debugausgabe” gab, die dann den IE8 wohl daran hinterte, den !DOCTYPE richtig zu erkennen. Somit wurden eben viele Funktionen deaktiviert, auch die Child Selektoren.
Debug ausgabe raus, !DOCTYPE rutscht in die erste Zeile, Ausgabe stimmt, alles okay.
Das sollte sich aber rumgesprochen haben, dass der IE den DOCTYPE immer in der ersten Zeile benötigt, weil er ansonsten im Quirksmode die Fehler seiner Vorgängerversionen wiederholt.
Selbst die XML-Präambel in XHTML ist da schädlich! Standards-Mode kriegt man damit nicht hin.