vertikale Ausrichtung im IE 6
Fabian
- html
0 Stefan Einspender0 Fabian0 Stefan Einspender
0 Thomas Meinike
Hi,
ich will einen Text auf einer HTML-Seite horizontal und vertikal zentrieren.
Bisher ging das immer folgendermaßen:
...
<table style="width:100%;height:100%;">
<tr>
<td align="center" valign="middle">irgendwas</td>
</tr>
</table>
...
Im Internet Explorer 6 wird der Text allerdings nicht vertikal zentriert. Kann mir irgend jemand helfen?
Fabian.
PS: Natürlich habe ich es auch schon mit absoluter Positionierung versucht.
Hallo Fabian,
...
<table style="width:100%;height:100%;">
<tr>
<td align="center" valign="middle">irgendwas</td>
</tr>
</table>
...
Im Internet Explorer 6 wird der Text allerdings nicht vertikal zentriert. Kann mir irgend jemand helfen?
bei mir funktioniert es schon. Kannst Du uns mal den URL zu einer
solchen Seite verraten, wo es nicht klappt?
Viele Grüße,
Stefan
bei mir funktioniert es schon. Kannst Du uns mal den URL zu einer
solchen Seite verraten, wo es nicht klappt?
http://www.glowing.f2s.com/content.html
Hallo,
http://www.glowing.f2s.com/content.html
die Ursache für dieses Verhalten ist der DOCTYPE, IE6 ist da genauer
als seine Vorgänger.
Viele Grüße,
Stefan
Hi,
die Ursache für dieses Verhalten ist der DOCTYPE, IE6 ist da genauer
Danke.
PS: Wieso funktioniert die width-Angabe?
Hallo Fabian,
PS: Wieso funktioniert die width-Angabe?
weil die im Gegensatz zum height-Attribut innerhalb des table-Elementes
zulässig ist:
http://www.w3.org/TR/html401/struct/tables.html#adef-width-TABLE
Viele Grüße,
Stefan
Hi Stefan!
Das style-Attribut dürfte dann doch eigentlich auch nicht funktionieren.
dann wäre
<table style="width:100%;">
doch auch nicht richtig, sondern nur
<table width="100%">
,oder?
Fabian.
Hi Stefan!
Das style-Attribut dürfte dann doch eigentlich auch nicht funktionieren.
dann wäre
<table style="width:100%;">
doch auch nicht richtig, sondern nur
<table width="100%">
,oder?
wieso sollte style="" nicht erlaubt sein..?!?
Übrigens ist auch style="height:100%;" erlaubt... das Problem ist nur, dass einige (?) Browser nicht wissen wovon 100%..
Hallo Stefan,
wenn Du genau hinsiehst, wirst du feststellen, daß Fabian die Tabellenhöhe mit CSS definiert hat ;-)
Das IE und Mozilla bei der Angabe einer DTD die Tabellenhöhe ignorieren, hat nichts damit zu tun, daß es height nicht als Attribut für table gibt. Pixel-Angaben für height (<table height="100">) werden sehr wohl interpretiert, obwohl es ungültig ist.
So wie ich die ganze Geschichte verstehe, habe ich weiter unten mal erklärt: </?m=74&t=11> (das PS in dem Posting ignorieren, weil falsch ;-)
Viele Grüße
Carsten
PS: Wenn Du in diesem Beispiel von Dir eine DTD einfügst, dann ist die vertikale Zentrierung wieder futsch
http://stefan.einspender.com/drweb/center/tabellenlayout/
Was ich glaube:
Die Programmierer des MSIE meinen sich an immer mehr Standarts halten zu müssen und damit wird alles nur komplizierter.
Fabian.
Was ich glaube:
Die Programmierer des MSIE meinen sich an immer mehr Standarts halten zu müssen und damit wird alles nur komplizierter.
MSIE? Standards..? halten? huch..?!?!?!?!?!?!?!?!?
btw. die schreibt man mit d
Hallo !
So wie ich die ganze Geschichte verstehe, habe ich weiter unten mal erklärt: </?m=74&t=11> (das PS in dem Posting ignorieren, weil falsch ;-)
PS: Wenn Du in diesem Beispiel von Dir eine DTD einfügst, dann ist die vertikale Zentrierung wieder futsch
Etwas seltsam ist das Ganze aber schon, denn:
Wenn man deiner Erklärung in dem alten Thread folgt, dass die Höhe der Tabelle sich an der (nicht vorhandenen) Höhe des Body orientiert, liegt es ja nahe, das Problem dadurch zu lösen, diesem "bösen" Body einfach auch per CSS eine Höhe von 100% zuzuweisen.
Und siehe da: Es klappt! (zumindest im IE6)
Was das jetzt allerdings mit der DTD zu tun hat, bleibt schleierhaft.
Gruß,
kerki
Hallo kerki,
so ganz verstehe ich es auch nicht ;-)
body {height:100%;} alleine reicht für Mozilla nicht aus. Erst wenn man die Methode nimmt, die Thomas Meinike innerhalb dieses Threads gepostet hat (<?m=2137&t=347>), klappt es auch mit Mozilla (wodurch mein bisheriges Weltbild mal wieder völlig durcheinandergebracht wurde ;-). Wobei ich mich jetzt natürlich auch frage: auf was kann sich html {height:100%;} überhaupt noch beziehen? ;-)
Viele Grüße
Carsten
...
<table style="width:100%;height:100%;">
<tr>
<td align="center" valign="middle">irgendwas</td>
</tr>
</table>
...
Im Internet Explorer 6 wird der Text allerdings nicht vertikal zentriert. Kann mir irgend jemand helfen?
Die Tabellenhoehe wird im standards-compliant mode vom Inhalt her (bei Dir nur ein Wort) bezueglich ihrer Umgebungsbox eingestellt.
Fuege im (am besten externen) CSS mal noch hinzu:
html, body
{
height: 100%;
}
MfG, Thomas