Markus K: Text in einem <td> zentrieren

Hallo!
Auch falls folgende Frage etwas trivial klingt stelle ich sie mal hier.
Ich habe folgenden Aussschnitt einerTabelle

<table width="770">
<tr>
<td width="100">dynamischer Text</td>
</tr>
</table>

Nun möchte ich dass der dynamische Text, der also nicht immer gleich lang ist, immer zentriert angezeigt wird. Ich habe schon ziemlich vieles versucht.
margin-right: auto; margin-left: auto; scheint mir als geeignet nur
wenn ich es als style im einem der Tags einbaue hat das in der Darstellung keinen Effekt.

Vielleicht kann mir jemand helfen.

cu, markus

  1. Hallo!

    hi markus!

    Auch falls folgende Frage etwas trivial klingt stelle ich sie
    mal hier.

    dafür isses da, oder? :)

    <table width="770">
    <tr>
    <td width="100">dynamischer Text</td>
    </tr>
    </table>

    die zentrierung kannst du direkt im td angeben:
    <td width="100" align="center">dynamischer Text</td>

    beste grüße,
    der doktor

    1. hallo!

      einmal danke für die Tipps... der thread von russe war durchaus hilfreich, wobei aber der effekt dass durch eine breitenangabe die zentrierung nicht passt durchaus störend ist.
      Es ist nämlich so dass in dieser Tabelle insgesamt 6 <td> in einer reihe sind und die maximale breite 770 nicht überschreiten soll.
      nun wollte ich eben für die spalten eine fixe breite vorgeben, von der ich weiss dass der text immer rein passen wird. das dies  zur folge hat dass text-align nicht immer richtig dargestellt wird ist natürlich etwas ärgerlich.
      Aber dafür gibt es  wahrscheinlich kein "heilmittel" oder?

      cu, markus

  2. Hi Markus K,

    <table width="770">
    <tr>
    <td width="100">dynamischer Text</td>

    kann es sein, dass du 100% meinst? 100 pixel sind recht wenig

    </tr>
    </table>

    Nun möchte ich dass der dynamische Text, der also nicht immer gleich lang ist, immer zentriert angezeigt wird. Ich habe schon ziemlich vieles versucht.
    margin-right: auto; margin-left: auto; scheint mir als geeignet nur
    wenn ich es als style im einem der Tags einbaue hat das in der Darstellung keinen Effekt.

    du willst den text zentrieren, nicht das <td> oder sowas. deswegen bringt dir margin:auto oder so auch nix. guckst du da: http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#text_align

    Gruß, Marian

  3. Also ich hätte das so gelöst.

    <table width="770" border="1">
    <tr>
    <td style="text-align: center;">dynamischer Text</td>
    </tr>
    </table>

    Ich habe das width in der Tabellenzelle entfernt, sonst kann es sein, dass diese zu klein für den Text ist, dann wirkt es so, als sein der Text linksbündig in der Tabelle.

    --
    Russe
    1. Hallo Russe,

      Also ich hätte das so gelöst.

      <td style="text-align: center;">dynamischer Text</td>

      Ich auch. Und für den Fall, dass Markus auch noch vertikal zentrieren will, hätte ich noch ein vertical-align:middle; hinzugefügt.

      Ich habe das width in der Tabellenzelle entfernt, sonst kann es sein, dass diese zu klein für den Text ist, dann wirkt es so, als sein der Text linksbündig in der Tabelle.

      Nein. Die Zentrierung bleibt erhalten. Nur wenn du die width-Angabe weglässt, kann es sein, dass die Spalte so schmal wird, dass man die Zentrierung nicht mehr als solche erkennt. Das ist der gleiche Effekt, als wenn der Text länger wird als die Breite der Zelle.
      Entweder der Text wird dann innerhalb der Zelle umgebrochen, dann stehen aber die einzelnen Fragmente immer noch zentriert.
      Oder der Text kann nicht umgebrochen werden, dann vergrößert sich die Spalte automatisch, und der Text ist zwischen den Rändern eingeklemmt. Okay, dann ist er zwar immer noch zentriert, aber das merkt halt keiner. ;)

      So long,

      Martin