Die Welt ist: Das doch ziemlich fatale CSS

Beitrag lesen

Zum einen eröffnet CSS neue Möglichkeiten der Gestaltung. Aber zum anderen, werden viele ältere Formatierungsmöglichkeiten als veraltet eingestuft, für die es unter CSS keinen wirklichen Ersatz gibt. Bspw. cellpadding bei Tabellen, wo man den Zelleninnenabstand einstellen kann. Da hatte man diesen einfach angegeben, und gut war es. jetzt ist das so einfach nicht mehr möglich, falls überhaupt.

Den Zelleninnenabstand ist mit CSS nur möglich, indem man eine Vorgabe über eine neue Klasse definiert. Entweder setzt man bei allen Tabellen einen einheitlichen Wert, oder man erstellt verschiedene Klassen. Mehr Möglichkeiten gibt es leider nicht.

Aber auch mit letzterer Möglichkeit ist es bspw. bei einem Forensystem schwierig, einen BB-Code zu schreiben, mit dem jeder User bei seinen eigenen Tabellen den Zelleninnenabstand einzustellen. Es müssten erst verschiedene Klassen mit jeweils unterschiedlichen Zelleninnenabständen erstellt werden, wo dann der User über den BB-Code die gewünschte Klasse angeben kann.

Wenigstens kann man auch mehrere Klassen zugleich angeben, sodass man bspw. auch verschiedene Klassen für die Farbe der (inneren) Gitterlinien erstellen kann. Der User könnte dann mit dem BB-Code eine gewünschte Klasse wählen.

Aber schon hier wird die Begrenztheit dieser Möglichkeiten deutlich, denn der User könnte nicht mehr frei irgendeinen Farbton wählen, sondern müsste sich mit einer Auswahl begnügen.

Natürlich war mir so eine Lösung nicht gut genug, sodass ich nach einigem nachdenken auf die meines Erachtens geniale Idee kam, dass der BB-Code einfach für jede Tabelle eine Klasse im Body-Bereich anlegt. Unschön dabei ist aber, dass solche Klassen eigentlich in den Head-Bereich gehören, wo aber der User über den BB-Code aber nicht herankommt.

Damit der User nicht für jede Tabelle einen Klassennamen angeben muss, benutzt der BB-Code die Parameter-Angaben des Users, mit Ausnahme der Farbangaben, denn die könnten das Rautesymbol # enthalten, was nicht zulässig ist für Klassennamen.

Oder der User müsste nur die Ziffern der jeweils gewünschten Farben angeben, und der BB-Code würde diese mit dem # ergänzen. Dann könnte man aber Farben nicht mehr als Begriff angeben, bspw. green; und der jeweilige Klassenname wäre noch länger, als er so schon ist.

Lässt man aber die Farbangaben weg, besteht die Möglichkeit, dass bei gleichen Parameterangaben und unterschiedlichen Farbangaben, Tabellen den gleichen Farbton hätten, obwohl diese unterschiedlich gefärbt sein sollen.

Wie ich meine BB-Codes nach diesem Prinzip gegen alle CSS-Widrigkeiten zum Trotz erstellt habe, könnt Ihr hier nachlesen:

BB-Codes zum Einbau mit Beschreibungen - phpBB.de

Obwohl ich mich erst seit kurzem mit dieser Thematik beschäftige, bietet sich hier insgesamt doch ein Grauen dar, was CSS betrifft. Überhaupt sind die neuen Standards schon deswegen problematisch, weil diese von älteren Browser nicht unterstützt werden.

So wird bspw. die Angabe der Hintergrundfarbe mit Style="background-color:red" vom Internet Explorer 6 nicht umgesetzt. Weil diese Browser-Version aber noch gar nicht so alt ist, werde ich dann als Administrator diesen CSS-Code benutzen; wenn der alte Standard sowohl von den neuen Browser-Versionen, als auch von älteren umgesetzt wird? Natürlich nicht.

Zumindest wird man noch die alten Standards verwenden, wo es jeweils überhaupt noch möglich ist. Wenn bspw. der Zelleninnenabstand beim neuen phpBB3 nicht funktioniert, weil systembedingt über CSS der Innenabstand auf Null gesetzt ist, muss ich den Innenabstand jeweils individuell mit CSS einstellen über den BB-Code. Klick!

Und glaube und hoffe ich, dass die guten alten Standards auch weiterhin von den gängigsten Browsern unterstützt werden, was unter diesem widrigen Umständen auch allzu verständlich erscheint.

Irgendwelche krankhaft veranlagten Eigenbrödler, die schon mit einem Einheits-Style ihren Mitmenschen klar machen wollen, was auf Ihrer Webpräsenz Sache ist, wird das neue CSS überaus viel Freude bereiten. Aber viele andere gesund veranlagten Menschen werden in Zukunft mit dem neuen CSS so ihre Probleme haben.