Moin!
Es ist ohnehin illusorisch, dass man nur mit CSS und bei konstanter HTML-Struktur jedes beliebige Design formatieren kann. Sowas geht NICHT.
Der CSS Zen Garden beweist zwar, dass man bei absolut konstantem HTML, auch inhaltlich, ziemlich viel machen kann, aber gewisse Dinge gehen dort trotzdem nicht.
Punkt 1: CSSZG hat nicht nur eine konstante HTML-Struktur, sondern komplett konstanten HTML-Inhalt. "Normale" Seiten hingegen haben wechselnde Inhalte, z.B. weil sich News ändern, neue Seiten in Listen auftauchen etc.
Punkt 2: Die Abfolge der Elemente im HTML bestimmt ganz entschieden deren Reihenfolge. Wenn du H1, dann P (class:summary) und danach diverse P hast, kannst du diese Reihenfolge mit CSS nicht ändern. Wolltest du den ersten P, der die Zusammenfassung des Textes ist, über die Überschrift stellen, und das so, dass das Konstrukt IMMER, unabhängig von der Länge des P oder der H1 paßt, müßtest du tatsächlich die HTML-Struktur ändern - mit absoluter Positionierung oder Floats dürfte der Effekt nicht für alle denkbaren Textfälle lösbar sein.
Wenn man es von Anfang darauf auslegt geht das schon. Und darauf zielt mein Versuch ja ab. Wenn ich mehrere Seiten im verschachteltem Tabellenlayout ändern muss, kann ich auch von vorne Anfangen. Ich habe gerade (bin noch dabei) etliche Seiten von Tabellenlayout auf CSS umgestellt.
Der CSS Zen Garden beweist, dass es möglich ist, eine feste HTML-Struktur in vielen Varianten optisch darzustellen. Alle veröffentlichten Ergebnisse sind Erfolgsgeschichten. Was du dort nicht siehst, sind die Mißerfolge. Und du siehst dort nur, welche Ergebnisse mit CSS erreichbar sind. Du siehst nicht die Ergebnisse, die mit CSS unerreichbar sind. Dadurch entsteht vielleicht der Eindruck, dass man mit CSS jedes beliebige, darauf ausgelegte HTML in jeglicher Weise formatieren kann.
Aber Fakt ist: HTML und CSS müssen zusammenspielen. Es ist nicht unbedingt sinnvoll, das HTML schon von Anfang an so aufzublähen, dass man irgendwann später mal beliebige Formatierungen anwenden kann.
- Sven Rautenberg
"Love your nation - respect the others."