CSS

HackerJobs_CSS

Photo by Sai Kiran Anagani on Unsplash

CSS – auch Cascading Style Sheets (gestufte Gestaltungsbögen) gilt als eine der bedeutendsten Stylesheet-Sprachen für elektronische Elemente. Neben HTML und DOM ist CSS eine elementare Kernsprache im World Wide Web. Permanente Weiterentwicklung macht diese Programmiersprache zu einem sogenannten „living standard“. Ziel der Sprache ist die Erstellung diverser Gestaltungsanweisungen. Diese Gestaltungsanweisungen werden hauptsächlich im Zusammenspiel mit den Auszeichnungssprachen XML und HTML eingesetzt.

CSS Grundlagen

Mithilfe von Cascading Style Sheets sollen die Darstellungsvorgaben möglichst weit von den Inhalten getrennt werden. Wird diese Trennung konsequent durchgezogen, können die Dokumenteninhalte und deren Bedeutung in XML oder HTML geschrieben werden. Davon abgegrenzt kann die Inhaltsdarstellung in CSS geschrieben werden. An dieser Stelle bevorzugen Developer separate CSS-Dateien. Als die Programmiersprache noch in den Kinderschuhen steckte, legten Developer hauptsächlich Farben, Layouts oder auch die Typografie eines Dokuments fest. Heutzutage lassen sich aber auch komplexe Module einfügen. Beispielsweise Animationen. Dokumentenelemente lassen sich anhand diverser Eigenschaften identifizieren. Etwa anhand von Dokumentennamen, Dokumentenpositionen oder anhand von IDs. Ebenso machen Details wie Attribute eine Identifizierung möglich. CSS-Anweisungen ermöglichen Darstellungsvorgaben für jede beliebige Gruppe an Elementen. Festlegungen sind zum einen zentral möglich, zum anderen aber auch separat. Separate Dateien vereinfachen dem Developer die Wiederverwendung für andere Dokumente. Die Programmiersprache enthält zudem ein Vererbungsmodell. Dieses Vererbungsmodell fokussiert sich auf Auszeichnungsattribute, wodurch die Anzahl notwendiger Definitionen verringert wird.

Die Entwicklung von Cascading Style Sheets

Bereits 1993 gab es erste Vorschläge für Web-Stylesheets. Bis 1995 folgten weitere. Einer der Developer – Håkon Wium Lie – veröffentliche 1994 einen Vorschlag für Cascading HTML style sheets. Während dieser Zeit arbeitete Bert Bos an einer Browser-Implementierung mit dem Namen Argo. Hier wurde eine eigene Stylesheet-Sprache angewandt. Schlussendlich entschieden sich beide Developer Hand in Hand zu arbeiten und CSS zu entwickeln. Zwar gab es zu diesem Zeitpunkt auch andere Programmiersprachen, allerdings veröffentlichten die Beiden als erstes die Idee, spezifische Regeln zu definieren, die auch über mehrere Stylesheets vererbbar sind. Das W3C (World Wide Web Consortium) wurde durch die CSS-Präsentationen 1994 und 1995 auf die Programmiersprache aufmerksam. In diesem Rahmen wurde auch eine Weiterentwicklung angestrebt. Schließlich wurde Level 1 von Cascading Style Sheets im Dezember 1996 veröffentlicht. Aktuelle Browser befolgen diese Norm mittlerweile fast komplett.

1998 wurde schließlich CSS2 publiziert. Verbreitete Webbrowser setzten diese Empfehlungen jedoch bis 2010 nur bedingt um. Die W3C arbeitete jedoch ab 2002 an Verbesserungen. Wirklich neue Möglichkeiten bauten die Developer nicht ein. Als fertige Empfehlung wurde dieses Modell 2011 unter dem Namen CSS2.1 veröffentlicht. Mittlerweile sind die meisten Browser dazu in der Lage, diese weiterentwickelte Programmiersprache weitgehend zu verarbeiten.

CCS3 steckt seit 2000 in der Entwicklung. Begonnene Entwicklungen aus CSS2 werden an dieser Stelle weiter vorangetrieben. Im Vergleich zu den Vorgängern soll CSS3 modular aufgebaut sein. Dadurch lassen sich verschiedene Teiltechniken in unterschiedlichen Versionsschritten entwickeln. Die Fähigkeiten der Programmiersprache werden damit mehr an etablierte Sprachen wie DSSSL angenährt. Zukünftig wird CSS weiterhin eine Alternative zu Stylesheet-Sprachen, die XML-basiert sind, sein.

Des Weiteren wurde bereits berichtet, dass das W3C bereits an einer CSS4 Version arbeitet. Allerdings stellten Vertreter der W3C klar, dass es keine weitere Versionsnummer geben wird. Die Weiterentwicklung soll eher darauf basieren, einzelne CSS-Module mit eigenen Versionsnummern zu entwickeln. Der Gesamtstandard wird weiterhin CSS3 oder CSS bleiben.