Matthias: Frage zu tabellenlosem Layout

<table style="width:300px;height:200px">
<tr><td style="text-align:center;vertical-align:middle">
text text text text text <br>
text text text text text <br>
text text text text text <br>
text text text text text <br>
</td></tr></table>

Dieser Code erzeugt eine Tabelle, welche 300*200 Pixel groß ist. Der Text in dieser Tabelle ist sowohl in horizontaler als auch in vertikaler Richtung zentriert. Da man aber nicht mit Tabellen layouten soll, möchte ich das ganze gerne auf ein <div>-Layer umstellen. Leider habe ich keine Ahnung, wie man einen Text vertikal zentrieren soll. Da der Text dynamisch generiert wird, ist es unmöglich, den Text in ein weiteres Div zu packen und dieses dann mit margin-Top entsprechend nach unten zu verschieben :/

    1. Hi Matthias,

      guck mal hier, ob's Dir hilft:
      http://aktuell.de.selfhtml.org/tippstricks/css/ausrichtung/index.htm

      Viele Grüße
      Mathias Bigge

      http://de.wikipedia.org/wiki/vertikal
      Also das nächste mal nicht
      lesen --> posten, sondern
      lesen --> verstehen --> denken --> posten. Danke.
      -.-

      1. Hallo,

        http://suche.de.selfhtml.org/cgi-bin/such.pl?suchausdruck=vertical+align&feld=titel&index_5=on&index_6=on&index_7=on&hits=100
        Also das nächste mal nicht
        ...einfach posten - sondern:
        ...erst im Archiv suchen

        :P

        mfg NAG

        --
        signatur
    2. Und damit du es auch ganz berstimmt verstehst, hier nochmal eine grafische Version der zuvor geposteten Anleitung.

      1. Hi Matthias,

        Und damit du es auch ganz berstimmt verstehst, hier nochmal eine grafische Version der zuvor geposteten Anleitung.

        Danke.
        *plonk*

        Viele Grüße
        Mathias Bigge

  1. Hallo Matthias,

    Dieser Code erzeugt eine Tabelle, welche 300*200 Pixel groß ist. ...
    Da der Text dynamisch generiert wird, ...

    Woher weißt du dann, dass der Text überhaupt in die 300*200px große Tabelle
    passt?
    Die Tabelle soll wohl als Rahmen dienen, muss der Rahmen genau 200 Pixel hoch
    sein?

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
    1. Woher weißt du dann, dass der Text überhaupt in die 300*200px große Tabelle
      passt?
      Die Tabelle soll wohl als Rahmen dienen, muss der Rahmen genau 200 Pixel hoch
      sein?

      Das generierende Script gibt nie mehr als ein paar Zeilen aus, oft nur 3-4. Und die Tabelle benutze ich nicht als Rahmen (das ginge per CSS viel einfacher und schöner), sondern nur, um diesen Text vertikal zu zentrieren.

      1. Hallo Matthias,

        ... Und die Tabelle benutze ich nicht als Rahmen (das ginge per CSS viel einfacher und schöner), sondern nur, um diesen Text vertikal zu zentrieren.

        Die Frage sollte keine Tabellenkritik sein.
        Das Entscheidende war, ob die 200 Pixel Höhe genau eingehalten werden müssen.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
  2. Hallo,
    vertikales zentrieren ist mit css in alltagstauglicher Form imho nicht wirklich möglich.
    Das einfachste wäre:

    display:table-cell;
    vertical-align:middle;

    allerdings wird das nur in aktuellen Browsern dargestellt.

    Aber sicher gibt es da noch irgendwelche Würgarounds die die Sache noch etwas verkomplizieren.

    Ich würde ja überlegen ob eine feste Höhe wirklich zwingend notwendig ist.
    Keine feste höhe und padding Angaben für top und bottom machen sich auch gut.

    Ich bevorzuge ja immer die Variante, erst das machbare auszuloten und dem entsprechend ein Desing zu basteln. Erspart scherereien.

    Gruss, Jan aus Dresden