Fabian: vertikale Ausrichtung im IE 6

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.

  1. 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

    1. 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

      1. 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

        1. Hi,

          die Ursache für dieses Verhalten ist der DOCTYPE, IE6 ist da genauer

          Danke.

          PS: Wieso funktioniert die width-Angabe?

          1. 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

            1. 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.

              1. 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%..

            2. 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/

              1. Was ich glaube:

                Die Programmierer des MSIE meinen sich an immer mehr Standarts halten zu müssen und damit wird alles nur komplizierter.

                Fabian.

                1. 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

              2. 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

                1. 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

  2. ...
    <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