Hallo Marc,
Ich bastel gerade an einer Seite, die (manchmal zu meiner eigenen Verwunderung) XHTML 1.0 - valide ist.
Nun habe ich leider das Phaenomen, dass alle Seiten die Scrollbars benoetigen (logischerweise weil sie zu lang sind zum darstellen auf einer Seite) im IE6 nicht nur die notwendige "rechten" Scrollbar haben, sondern die "untere" zum horizontal scrollen.
Es scheint so zu sein, als ob die Anzhal Pixel die gescrollt werden kann in Horinzontal-Richtung exakt der Breite der rechten Scrollbar entspricht.
Da gibt es meines Wissens keinen Workaround. Es lässt sich lediglich mit overflow-x:hidden und rechts vergrößerten Dokumenträndern arbeiten. Diese darf nur der MSIE 6 erhalten, wie gesagt. Das ließe sich wahrscheinlich über diverse Dreischritt-CSS-Hacks lösen, die zuerst MSIE 5.x von 6 trennen und dann noch einmal MSIE 6 von Gecko und Opera:
html {
margin:0;
padding:0;
overflow-x:hidden; /* Nicht valide, sollten aber von anderen Browsern problemlos ignoriert werden. */
}
body {
margin:10px; /* Für MSIE <6/Win, MSIE <5/Mac, Opera <6, KHTML. */
ma\rgin:10px 30px 10px 10px; /* (Gedacht) für MSIE 6. Andere Browser, die diese Regel verstehen und die nächste Regel nicht, haben halt Pech(tm). */
padding:0;
}
html>body {
margin:10px; /* Für alle Geckos, Opera >5 und IE 5/Mac. */
}
Eine valide Variante mit Conditional Comments (http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp):
<style type="text/css">
html,body {margin:0; padding:0;}
html {border:1px solid red;}
body {border:1px solid blue; margin:10px;}
</style>
<!--[if gte IE 6]>
<style type="text/css">
html {overflow-x:hidden;}
body {margin-right:26px;}
</style>
<![endif]-->
Den zweiten Teil des Codes soll nur MSIE 6 zu Gesicht bekommen. Dort wird das vertikale Scrollen rigoros ausgeschaltet und der Abstand korrigiert und um die durchschnittliche Breite einer Scrollleiste verbreitert (der Wert ist letztlich an den Haaren herbeigezogen, wahrscheinlich wären 20px Aufschlag in manchen Fällen immer noch zuwenig).
Solche Hacks sind allerdings nicht nachhaltig bzw. zukunftssicher, weil folgende MSIE-Versionen wieder anders reagieren können, mit <!--[if gte IE 6]> ... ließe es sich zumindest auf 6.x begrenzen, aber das ist letztlich nicht sicherer.
Wie gesagt, die andere Möglichkeit wäre, MSIE 6 in den Quirks-Modus zu zwingen.
Mathias
»The Web is the minimal concession to hypertext that a sequence-and-hierarchy chauvinist could possibly make.« (Ted Nelson)