Thema CSS Frameworks
Sie sprießen gerade aus allen Ecken und Enden: Frameworks oder auch “The next big thing”. Was bei wirklichen Entwicklungsframeworks wie Ruby On Rails, CakePHP, symfony oder wie sie alle heißen seine Berechtigung hat, ist bei einer Art Seitenbeschreibungssprache wie CSS irgendwie etwas mysteriös.
Reale CSS Projekte mal aufgegliedert
Bevor jetzt persönliche Meinungen ins Spiel kommen, schauen wir uns doch mal wirkliche Projekte an, wo verschwindet die Zeit im Teilsegment “HTML-Umsetzung” eines Layouts?
Seitentypen
Die meisten Webseiten bestehen nicht aus einem Layout mit verschiedenen Inhalten, sondern zum Glück gibt es da Varianten.
Die einfachste Variante:
- Startseite
- Contentseite
Damit sind die meisten einfacheren Seiten abgedeckt, alles weitere spielt sich dann im Inhaltsbereich ab.
Bereits hier werden die ersten Farb- und Schriftdefinitionen angelegt, Navigationen gebaut, Listenverschachtelt und andere lustige Spielereien erledigt, die nur für die Umsetzung des Layouts notwendig sind.
Durchschnittlicher Zeitbedarf: 4-12h
Doch was gibt es noch für Varianten?
- Startseite
- Contentseite 3-spaltig
- Contentseite 4-spaltig
- Mikrostartseite für einen Themenbereich
- Kategorieübersicht eines Webshops
- Der Webshop an sich
- Modale Hilfsdialoge
- andere spezielle Seitentypen die nicht mit einer normalen Contentseite abgedeckt werden
- usw.
Durchschnittlicher Zeitbedarf: 10-xh
Es wird schon Anspruchsvoller. Dank unterschiedlichstes Elemente müssen etliche Klassen definiert werden und die meiste Arbeit geht in die Anpassung der Spezialfälle.
Nun gut, hier könnte man noch argumentieren das man mit einem rasterbasiertem CSS wie blueprintcss zu schnellen und guten Ergebnissen kommt. Aber da fängt das Problem schon an.
Kleines Beispiel: blueprintcss trennt die Spalten bzw. Rastereinheiten per margin. Jetzt möchte man aber das z.B. das die meisten Spalten eine durchgehenden Hintergrund bis zu nächsten haben. Man kann nun das Margin entfernen und die Größe Anpassen oder sich eines paddings bedienen. Nur ist es eben nicht einfach mal schnell, wie immer bei solchen Fällen liegt der Teufel im Detail und es gehen 2-3h nur für die Anpassungen drauf.
Contentelemente
Jetzt kommt man langsam zum spassigen Teil. Überschriften, Absatzformate, Listen, Linklisten, Formulare usw. sollen sich natürlich nicht überall gleich verhalten oder manche doch usw. Im Regelfall geht hier die meiste Zeit in die Anpassung der Abstände zueinander, Verhalten in bestimmten Sonderkonstellationen usw.
Verwendet man jetzt ein System das von Hause genau das Gegenteil von dem macht, das man möchte, wird es richtig lustig. Der Zeitvorteil ist schnell weg, wenn man die meiste Zeit mit der Suche nach der Vererbung oder dieser ist. Es wird sehr ermüdend.
Durchschnittlicher Zeitbedarf: 10-xh
Print.css
Das Drucklayout darf natürlich nicht fehlen, aber im Gegensatz zur der Meinung der Webworker die das Framework erstellen möchte der Kunde natürlich Spielereien wie sein Logo, bestimmten Schriften und Farben usw. beim Ausdruck sehen. Also wieder Farben anpassen, Abstände ändern, und eigentlich das ganze Teil wieder fast neu schreiben.
Browseranpassungen
Mittlerweile gibt es viele die den IE (möge er, wenn es ihn gibt, in der Hölle schmoren) verteufeln und gar nicht mehr unterstützten möchten. Die Realität sieht leider anders aus und wenn gerade der Projektmanager des Kunden den IE 6 benutzt, braucht man auch gar nicht mit irgendwelchen Diskussionen kommen. Gerade dann nicht, wenn 80% dieses Kunden genau diesen Browser benutzen.
Also um die Browseranpassungen kommt man einfach nicht herum, und professionell wäre jetzt natürlich auch eine fast perfekte Anpassung des CSS damit das Layout überall wirklich fast gleich aussieht.
Also wieder in die Untiefen eintauchen und eigentlich wie immer Mikrodetails ausbessern.
Durchschnittlicher Zeitbedarf: mind. 8h
Alles Mist? Nein!
Die ganzen Ansätze sind wirklich brauchbar und jeder der möchte darf diese “Frameworks” benutzen ohne das es ein Vergehen wäre. Für die vom Layout einfacheren Seiten sind die “Frameworks” ideal und die Benutzer müssen sich keine großen Gedanken über viele Kleinigkeiten machen, und das ist ja auch gut so.
Aber bei den meisten Projekten ist man mit einer Bibliothek der normalen Inhaltslemente mit minimalen Vorgaben am besten bedient. Webseiten für die Kunden da draußen müssen eben doch etwas mehr her machen als das was die Frameworks immer andenken. Sollte man dies also schon beim Layout beachten? Ich denke eher nicht. Dadurch würden alle Seiten mit der Zeit sich aneinander angleichen, weil es ja sonst zu viel Arbeit wäre.
Jammern können alle!
Richtig! Deswegen will ich nicht nur jammern oder meckern, sondern genau das was ich und vielleicht auch andere benötigen umsetzen:
Eine schlichte Bibliothek eines schlanken CSS für die normalen Inhaltselemente, nicht mehr und nicht weniger. Alles andere wird dem gemein genannten Frontendler überlassen. Freiheit für alle und keine stupiden Arbeiten mehr wiederholt erledigen oder aus vorherigen Projekten kopieren.
Die für die erste Version geplanten Elemente und Ziele werde ich demnächst (wie es die Zeit eben zu lässt) mal veröffentlichen.
Steffen Giers, am 27. September 2007 um 07:20 Uhr
BendAR, am 27. September 2007 um 11:34 Uhr
JoeCGN, am 28. September 2007 um 09:21 Uhr
BendAR, am 28. September 2007 um 10:56 Uhr