Jan: Auf Seite zentrieren

Hallo,

ich denke es wurde schon oft gefragt, aber ich habe bis jetzt keine befriedigenden Lösungen finden können.

Ich möchte einen div-Container dessen Höhe ich nicht vorher kenne, da er mal 1 und vielleicht mal 5 Zeilen enthält, auf der Seitenmitte sowohl horizontal als auch vertikal zentrieren. Horizontal ist das ja kein Problem, aber alle Lösungen die ich bis jetzt gefunden habe gehen davon aus das man die Höhe kennt um die vertikale Position entsprechend mit margin-bottom etc. zu korrigieren.

Hat da jemand ein Patentrezept?

Danke

  1. hi,

    Ich möchte einen div-Container dessen Höhe ich nicht vorher kenne, da er mal 1 und vielleicht mal 5 Zeilen enthält, auf der Seitenmitte sowohl horizontal als auch vertikal zentrieren. Horizontal ist das ja kein Problem, aber alle Lösungen die ich bis jetzt gefunden habe gehen davon aus das man die Höhe kennt um die vertikale Position entsprechend mit margin-bottom etc. zu korrigieren.

    Hat da jemand ein Patentrezept?

    Nein - nur mehrere Kochanleitungen, die alle ihre Nachteile haben:

    • Antik und Holzhammer: Tabelle mit einer Zeile und Zelle benutzen, div darin mit vertical-align ausrichten
    • auf Tabelle verzichten, stattdessen display:table-cell für umgebendes Element benutzen, damit vertical-algin darin Wirkung zeigen kann
    • per Javascript, nach dem Laden reale Elementhöhe abfragen, anschließend Position entsprechend anpassen

    gruß,
    wahsaga

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

      • auf Tabelle verzichten, stattdessen display:table-cell für umgebendes Element benutzen, damit vertical-algin darin Wirkung zeigen kann

      Ah ja, den Nachteil, dass der IE dies nicht beherrscht, wollte ich hier natürlich noch erwähnen.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Patentrezept gibts keins, aber hier http://css.fractatulum.net/sample/layout4format.htm
    findest Du einige Ansätze, die ohne Tabellen oder gar JavaScript (böse!) auskommen