Sven Rautenberg: Also weiterhin Tabellen zum Layout nutzen?

Beitrag lesen

Moin!

meine Experimente mit der Textausrichtung in Div-"Boxen" hatten den Hintergrund, eine Alternative zum Layout mit Tabellen auszuprobieren. Aber so einfach ist das offenbar nicht. Nach wie vor scheinen Tabellen die einfachste und beste Möglichkeit zu sein, Grafik und Text auf einer Seite zu verteilen.

Die _einfachste_ und beste Möglichkeit, etwas auf einer Seite zu _verteilen_, sind absolut positionierte <div>-Layer. Tabellen sind viel zu unflexibel, wenn tatsächlich noch Änderungen anstehen - damit macht man sich tot!

Wie sind euere Erfahrungen, wer nutzt noch Tabellen zum Layout und wer kann darauf verzichten?

Tabellen machen dann Sinn, wenn die darzustellenden Informationen Tabellendaten sind. Stundenpläne z.B. sind Tabellendaten. Ansonsten kann man ohne Tabellen wesentlich besser arbeiten und erhält sogar noch die zusätzliche Freiheit, mit einem speziellen Druck-CSS die Druckausgabe druckerfreundlich(er) zu gestalten. Das geht in der Kombination Tabelle+CSS zwar auch irgendwie, aber längst nicht so gut, weil die grundlegende Struktur der Tabelle nicht überwunden werden kann.

Wenn dein einziges Problem mit Layern ist, daß du nicht vertikal zentrieren kannst - dann hast du das vertikale Ausrichten noch nicht richtig verstanden.

Vertical-align bezieht sich immer auf die einzelne Zeile, in der das auszurichtende Element steht. Du kannst also, wie auch im SelfHTML-Beispiel sichtbar, ein Bild an einem Wort ausrichten, und hast dazu gewisse Möglichkeiten.

http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-vertical-align

Außerdem wird in den W3C-Specs deutlich darauf hingewiesen, daß die Ausrichtungswerte eine _andere_ Bedeutung haben, wenn sie auf Tabellenzellen angewandt werden. Ich hab' ein wenig herumprobiert: Anscheinend gibts, außer natürlich der Möglichkeit zur absoluten Positionierung mit relativen Werten wie Prozent, keine Möglichkeit, ein Element _ohne_ Tabellen vertikal mittig zu positionieren.

Ich habe allerdings dieses Verlangen auch noch nie gehabt. Man kann zum einen natürlich Tabellen einsetzen (wie dort die Positionierung gehandhabt wird, steht in http://www.w3.org/TR/REC-CSS2/tables.html#height-layout), zum anderen gibts durch Positionierung von Elementen von links, rechts, oben oder unten aus gesehen reichlich Möglichkeiten, die Aufgabe möglicherweise auch anders zu lösen.

- Sven Rautenberg