molily: vertikale Scrollbars im MSIE im standardkonformen Modus

Beitrag lesen

Hallo Markus,

Folgendes: Meine HP http://www.vrmlwelt.de/texturen/ wird vom IE falsch angezeigt. Und zwar zeigt er horizontale Scrollbalken an. Im Menü und auch auf der rechten Seite.

Es liegt am DOCTYPE; du hast eine volle Dokumenttypdeklaration angegeben:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Das ist an sich nicht falsch oder problematisch, sondern führt dazu, dass der Internet Explorer und andere Browser in den standardkonformen Rendermodus schalten, indem das Boxmodell W3C-standardgemäß interpretiert wird - das ist in der Regel gewünscht. In diesem Modus spielt der MSIE aber öfters aus unerfindlichen Gründen verrückt, wie viele Fragen hier zeigen. Beispielsweise wird die Breite von html beziehungswiese body anscheinend so festgelegt, dass sie das Fenster ausfüllen, ohne dass die Breite der Scrollbars subtrahiert wird, folglich entstehen horizontale Bildlaufleisten.

Mir Fallen zwei Methoden ein, die erste wäre, dass die Breite von body explizit kleiner als der zu Verfügung stehende Bereich minus die ungefähre Breite der vertikalen Scrollbar festgelegt wird. Dies würde vor allem für das Dokument im Navigationsframe passen:
html,body {margin:0; padding:0;}
body {margin:5px 0 0 0; width:240px;}

Für die anderen Dokumente im Hauptframe ist die Breite natürlich nicht determiniert, dadurch bleibt nur die altbekannte Holzhammermethode über die proprietäre CSS-Eigenschaft overflow-x:
html,body { /* ...feste margins und paddings ... */ overflow-x:hidden;}
Wahrscheinlich reicht overflow-x:hidden für das html-Element (width muss aber bei der oberen Methode zwangsweise body zugewiesen werden).

Ich verwende diese Methode auf nahezu allen meinen Seiten, da es nervigerweise wie gesagt immer im standardkonformen Modus auftritt und mir kein anderer Workaround bekannt ist (außer eben keinen DOCTYPE anzugeben, was aber keine Optin für mich ist).

Grüße,
Mathias