Sven (κ): Text im CSS-Layer vertikal zentrieren?!?

Beitrag lesen

Hallo Frank Scholz,

Nachdem ich vor ein paar Jahren meine Seiten von Frames auf Tabellen umgestellt habe, stelle ich jetzt von Tabellen auf CSS-Layer um (man will ja aktuell sein ;-) )

sofern du dich auf den Missstand beziehst, dass du nach wie vor Tabellen für Layout benutzt hast, ist das eine gute Idee :)

Ich möchte einen Fließtext variabler Länge so in den Layer setzen, dass er horizontal *und* vertikal zentriert erscheint. Mit Tabellen kein Problem: Tabelle mit height=100%, td mit vertical-align:middle und fertig ist die Laube.

Du meinst gesamtzentriert in der Seite ("in der Mitte vom Bildschirm" oder sowas) oder nur in einer Box oder ähnlichem?

Aber wie macht man's mit CSS? An einigen Stellen habe ich gelesen, dass das von der Syntax her gar nicht vorgesehen sei. Finden das die Väter von CSS nicht wichtig?

Vom Syntax her ist es schon vorgesehen: vertical-align heißt das Attribut dafür. Es hapert nur bei der Umsetzung - scheinbar macht das kein Browser so, wie er es tun sollte. Beispiel:

<div style="height: 400px; vertical-align: center;">
      Dieser Text sollte vertikal mittig stehen. Leider kenne ich
      keinen Browser, der das macht.
  </div>

Wie dem auch sei: vertical-align:middle in der Layer-Definition tut's jedenfalls nicht. Der einzig funktionierende "Trick", den ich gefunden habe, war, innerhalb des Layers wieder eine 100%-Tabelle anzulegen, aber das kann's doch nun wirklich nicht sein.

ja, leider, leider :(

Ich nehme mal einfach ein Beispiel daraus:

#content      { position:absolute; top:100px; left:101px; width:400px; height:150px; z-index:1;
                border-right: 1px solid black;
                vertical-align:middle;text-align:center;}

Was du hier zumindest machen kannst: "scheinbar" mittige Zentrierung, in dem du z.B. einfach den padding auf 70px stellst (blöde antwort, ich weiß). Das sind so die "Tricks", wenngleich sie mir auch nicht gefallen :(

Grüße,

Sven

--
ich hatte mal meterlange signs, die sind alle weg