Horizontaler Scrollbalken MSIE 6 bei XHTML Doctype
Roland Aust
- html
Eventuell kennt ja jemand die Lösung, ich bin am Ende mit meinem Latein...
Schreibe ich meinen Code streng nach XHTML-Richtlinien habe ich folgendes Problem:
Bei Seiten in einem Frameset, die so lang sind, dass sie einen vertikalen Scrollbalken besitzen, blendet der MSIE 6 immer auch einen horizontalen Scrollbalken ein, wenn die entsprechende Seite eine 100%(!) breite Tabelle besitzt. Entferne ich den XHTML-Doctype in der entsprechenden Seite oder ersetze ihn durch einen HTML4-Doctype, verschwindet der horizontale Scrollbalken.
Ich habe nun folgende Fragen:
Warum entsteht dieser Scrollbalken nur bei einem XHTML-DOCTYPE? Gibt es einen Grund oder ist das einfach ein Bug des MSIE?
Gibt es die Möglichkeit, streng XHTML-konform zu coden ohne dass dieser Effekt bei Frameset/100%-Tabellen entsteht?
Derjenige der eine Lösung bietet, ist mein Held :-). Bitte keine Tips wie "display:inline", "margin:0", "overflow:hidden" etc., das funktioniert nämlich definitiv alles nicht.
Gruss, Roland
hi
- Warum entsteht dieser Scrollbalken nur bei einem XHTML-DOCTYPE? Gibt es einen Grund oder ist das einfach ein Bug des MSIE?
weil er dann in Standard-compliant-mode arbeitet.
Derjenige der eine Lösung bietet, ist mein Held :-). Bitte keine Tips wie "display:inline", "margin:0", "overflow:hidden" etc., das funktioniert nämlich definitiv alles nicht.
doch, genauso geht's - margin:0; für das <body>-Tag!
Grüße aus Bleckede
Kai
doch, genauso geht's - margin:0; für das <body>-Tag!
Probier's aus, aus geht nicht.
Gruss, Roland
Hallo,
doch, genauso geht's - margin:0; für das <body>-Tag!
ich würde eher margin:0px sagen ?
Probier's aus, aus geht nicht.
was ?
Hallo,
ich würde eher margin:0px sagen ?
Einheiten sind nur bei Werten != 0 noetig.
MfG, Thomas
Hallo,
Einheiten sind nur bei Werten != 0 noetig.
ok danke, wieder was gelernt =)
Hallo,
- Gibt es die Möglichkeit, streng XHTML-konform zu coden ohne dass dieser Effekt bei Frameset/100%-Tabellen entsteht?
Hast Du es so probiert:
html, body
{
margin: 0;
padding: 0;
}
Beim Inhalt ist natuerlich auch noch zu beruecksichtigen, dass width sich nur auf die jeweilige Box bezieht. Border sowie margin-/padding-Angaben kommen noch dazu.
MfG, Thomas
Hallo.
Falls jemand das Problem wirklich interessiert, so sollte er sich bitte ein beliebiges Frameset basteln und im Content-Frame folgenden Inhalt reinpasten:
<!--Schnippel -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
body {
margin-top: 0px;
margin-bottom:0px;
margin-left: 0px;
margin-width: 0px;
margin-right: 0px;
margin: 0px;
}
</style>
</head>
<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" bgcolor="#ffffff" alink="#000000">
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#999999">
<tr>
<td>Testtabelle</td>
</tr>
</table>
<img src="dummy.gif" height="1000" width="100" />
</body>
</html>
<!--Schnippel -->
Ohne Frameset wird er eine normale Seite mit einen vertikalen Scrollbalken sehen. Mit Frameset dagegen wird man zusätzlich einen horizontalen Scrollbalken bekommen. Nur beim MSIE 6 versteht sich...
Nur durch das entfernen der 100%-Tabelle oder des XHTML-Doctypes wird man diesen wieder los. Was natürlich beides keine wirklich befriedigende Lösung ist.
Gruss, Roland
Hallo,
Ohne Frameset wird er eine normale Seite mit einen vertikalen Scrollbalken sehen. Mit Frameset dagegen wird man zusätzlich einen horizontalen Scrollbalken bekommen. Nur beim MSIE 6 versteht sich...
Deine Tabelle soll eine Breite von 100% in Bezug auf das Elternelement body haben. Dessen Breite entspricht der Breite des Anzeigebereiches (ohne die Breite der vertikalen Scrollbar).
Kommt nun diese vertikale Scrollbar ins Spiel, ist die Tabelle breiter als der verbleibende Platz. Man sieht auch sehr deutlich, dass es ca. 20 Pixel sind, die den horizontalen Scrollbereich ausmachen.
Nur durch das entfernen der 100%-Tabelle oder des XHTML-Doctypes wird man diesen wieder los. Was natürlich beides keine wirklich befriedigende Lösung ist.
Entweder auf die 100%ige Tabelle verzichten und vielleicht auf 95% gehen und table zentrieren oder dem body-Element die IE-Eigenschaft overflow-x: hidden; zuweisen.
MfG, Thomas