Smine schrieb am 28.04.2005 13:59
sobald ich anfange, etwas komplexere Tabellen zu erstellen, gerät die ganze Sache im wahrsten Sinne des Wortes aus den Fugen. |
Eine Tabelle ist dazu da, zweidimensionale Daten in tabellarischer Form darzustellen. Tabellen sind von Natur aus nicht komplex. Wer Tabellen zu was anderem benutzt, gehört mit solchen Effekten, wie Du sie beschreibst, gestraft!
Warum Layout mit Tabellen dumm ist
Ich hab schon vieles probiert (vordefinierte Breiten & Höhen, blinde Pixel usw.), aber in letzter Konsequenz verändern sich die Tabellen immer nach Lust und Laune. |
Weil Du ihnen ein Verhalten aufzwingen willst, wofür sie nicht gemacht sind. Ein Feature von Tabellen ist nunmal, dass sie sich den Inhalten anpassen!
Derzeit wird z.B. die Zeilenhöhe einfach verdoppelt, sobald ich ein Formular (!!) in eine der Zellen dieser Zeile einfüge. Wie geht das denn?? Durch den Formular-Tag selbst wird doch überhaupt nichts dargestellt, aber einfach so mal die Zeilenhöhe verändert, so daß die Tabelle danach aussieht wie ein optischer Witz. |
Wer sagt, dass dadurch nichts dargestellt wird? Es handelt sich um ein Block-Element. Ein Block-Element zeichnet sich dadurch aus, dass vor und nach ihm ein Zeilenumbruch ist, mit einem (je nach Browser u.U. unterschiedlichen) Abstand zum Element davor und danach. Ohne dass Du diesen Abstand abstellst, wird sich das Verhalten nicht ändern.
Ist eine vernünftige Tabellendarstellung mit HTML überhaupt möglich |
Für tabellarische Daten? Ja.
Für den Missbrauch der Tabellen als Mittel zum Layout? Nein. Siehe Link oben.
Oder muß man komplett auf CSS zurückgreifen? |
Für Layout ist CSS zuständig. Schon seit gut und gerne 7 Jahren.
Irgendwie muß das ja funktionieren, denn professionelle Seiten haben ja auch saubere Tabellen. |
Nein. Da täuschst Du Dich. Nur weil einige Sites altersbedingt noch Tabellen vergewaltigen, heißt das nicht, dass das "saubere Tabellen" sind. Das ist ein Murcks hoch unendlich. Außerdem ist es schwierig zu erstellen (wie Du ja gemerkt hast), schlecht zu warten, unübersichtlich, bläht den Code auf, führt zu langen Ladezeiten, das Layout muss bei jeder Seite mitgeladen werden, noch mehr lange Ladezeiten und höchst kompliziert, das Layout ändern zu wollen, und und und.
Lerne CSS und wende es seiner Bestimmung nach an.
Lies den Seybold-Vortrag (Link oben) und versuche es zu verstehen.
Bei Rückfragen scheue Dich nicht, diese hier zu stellen. Ich helfe gern.