Gerhard: Vertikal zentrieren

Ich möchte eine Tabelle bestimmter Größte vertikal zentrieren.
Bis jetzt habe ich das so gelöst:
<table height="100%">
  <tr>
    <td valign="middle">
      //Hier eigentliche Tabelle einfügen
    </td>
  </table>
</table>
Leider ist ja das HEIGHT-Attribut in HTML ungern gesehen, aber auch mit CSS (style="height:100%") darf man in diesem Fall laut HTML 4.01 Transitional nicht arbeiten.
Also wie kann ich das Problem nun lösen?
Danke im Voraus
lg Gerhard

  1. Hi,

    Ich möchte eine Tabelle bestimmter Größte vertikal zentrieren.

    wieso unbedingt eine Tabelle?

    Leider ist ja das HEIGHT-Attribut in HTML ungern gesehen, aber auch mit CSS (style="height:100%") darf man in diesem Fall laut HTML 4.01 Transitional nicht arbeiten.

    Wie kommst Du denn darauf? HTML interessiert die CSS-Formatierung nicht im Geringsten.

    Freundliche Grüße
    Ingo

    1. Hi,

      Ich möchte eine Tabelle bestimmter Größte vertikal zentrieren.
      wieso unbedingt eine Tabelle?

      Was denn sonst. Ich brauche dazu eine Tabelle.

      Leider ist ja das HEIGHT-Attribut in HTML ungern gesehen, aber auch mit CSS (style="height:100%") darf man in diesem Fall laut HTML 4.01 Transitional nicht arbeiten.
      Wie kommst Du denn darauf? HTML interessiert die CSS-Formatierung nicht im Geringsten.

      Das interessiert es sehr wohl. Mit diesem doctype funktioniert es einfach nicht. Nehme ich den doctype ganz raus, funktioniert es.

      Freundliche Grüße
      Ingo

      1. Hallo Gerhard,

        Das interessiert es sehr wohl. Mit diesem doctype funktioniert es einfach nicht. Nehme ich den doctype ganz raus, funktioniert es.

        Doch auch mit diesem Doctype funktioniert das, wenn du sämtlichen Vorfahrenselementen deiner äußeren Tabelle inkl. HTML und BODY eine Höhe gibst, auf die diese sich dann mit ihrer eigenen Höhe beziehen kann.

          
        html, body {  
          height:100%;  
          margin:0;  
          padding:0;  
        }  
        
        

        Gruß Gernot

        1. Fürwahr
          damit funktioniert es sowohl in ie6, als auch bei firefox1.0.4 und opera8.01
          ich wusste zuvor nicht mal dass es in css ein html-element gibt
          Danke vielmals

          1. Hallo Gerhard,

            ich wusste zuvor nicht mal dass es in css ein html-element gibt

            Für den IE scheint noch nicht einmal da das Ende der Fahnenstange erreicht, denn der kennt als einziger Browser auch noch ein Elternelement des HTML-Elements. Was immer sich der IE darunter vorstellt, bleibt sein Geheimnis. Das lässt sich dann aber als Star-HTML-Hack prima benutzen, wenn dem IE wieder mal ne Extrawurst gebraten werden muss:

              
            * html table {  
              /* was du hier reinschreibst  
                 wirkt sich nur im IE aus  
                 auf TABLE-Elemente aus */  
            }  
            
            

            Entsprechend geht das natürlich auch mit anderen Elementen.

            Gruß Gernot

          2. Hi Gerhard,

            ich wusste zuvor nicht mal dass es in css ein html-element gibt

            ?? Ich auch nicht.
            Was meintest du damit?

            Gruß,
            Gunnar

            --
            „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
            1. hi,

              ich wusste zuvor nicht mal dass es in css ein html-element gibt

              ?? Ich auch nicht.
              Was meintest du damit?

              vermutlich, dass auch <html> per CSS formatiert werden kann.

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hi,

        wieso unbedingt eine Tabelle?
        Was denn sonst. Ich brauche dazu eine Tabelle.

        Nein. Es gibt mit CSS viele Methoden, um ein beliebiges Element zu zentrieren.

        Leider ist ja das HEIGHT-Attribut in HTML ungern gesehen, aber auch mit CSS (style="height:100%") darf man in diesem Fall laut HTML 4.01 Transitional nicht arbeiten.
        Wie kommst Du denn darauf? HTML interessiert die CSS-Formatierung nicht im Geringsten.
        Das interessiert es sehr wohl. Mit diesem doctype funktioniert es einfach nicht.

        Du verwechselst hier das sog. Doctype-Switching mit den HTML-Spezifikationen.
        Indem Du einen vollständigen Doctype (ab HTML 4) angibst, wechseln die Browser aus dem fehlertoleranteren quirks-mode in einen standardkonformeren Modus. Dadurch wird aber das HTML nicht auf einmal falsch, sondern - wie Du ja jetzt weißt - wird das unvollständige CSS nicht mehr über die Fehler(-rate)-Korrektur ergänzt, sondern standardkonform(er) umgesetzt.

        freundliche Grüße
        Ingo