Im Juni 2006 kamen Webentwickler und Designer aus aller Welt nach London zur zweiten jährlichen @media-Konferenz. Die erste war ein großer Erfolg gewesen, und @media 2006 versprach sogar noch mehr. Die Rednerliste wurde aus einigen der aufregendsten und energischsten Stimmen der Webdesign- und Browser-Community zusammengestellt.
Chris Wilson war dort, um die erste größere Veröffentlichung von Microsofts Internet Explorer seit fast einem halben Jahrzehnt anzukündigen. Rachel Andrew und Dave Shea tauschten praktische Tipps zu CSS und Projektmanagement aus. Tantek Çelik teilte einige seiner jüngsten Arbeiten an Microformats. Molly Holzschlag, zu der Zeit Leiterin des Web Standards Project, bereitete einen aufschlussreichen Vortrag über Internationalisierung vor und plante, an einer Podiumsdiskussion über die neuesten Entwicklungen von CSS teilzunehmen.
Die Konferenz begann am Donnerstag mit einer Eröffnungsrede von Eric Meyer, einem Pionier und frühen Anwender von CSS. Der Titel des Vortrags lautete „A Decade of Style“. In einer fesselnden und persönlichen Rede erzählte Meyer die nunmehr zehnjährige Geschichte von Cascading Style Sheets, kurz CSS. Seine eigene berufliche Laufbahn, die untrennbar mit der von CSS verbunden war, nutzte Meyer, um die Wurzeln der Sprache zu beleuchten und die Entscheidungen und Kompromisse besser zu verstehen, die zum heutigen Stand geführt hatten.
Im Mittelpunkt seines Vortrags enthüllte Meyer das Geheimnis des Erfolgs von CSS: „Unterschätzen Sie niemals die Wirkung einer kleinen, ausgewählten Gruppe leidenschaftlicher Experten.“ CSS, die offene und zugängliche Designsprache des Webs, gedieh nicht wegen der Technologie selbst, sondern wegen der Menschen – der Menschen, die sie bauten (und mit ihr bauten) und dessen, was sie teilten, während sie lernten. Die Geschichte von CSS, schloss Meyer, ist die Geschichte der Menschen, die sie geschaffen haben.
Fünfzehn Jahre nach diesem Vortrag und fast drei Jahrzehnte nach seiner Entstehung stimmt das immer noch.
Am Donnerstagmorgen, dem 20. Oktober 1994, drängten sich die Teilnehmer einer anderen Konferenz, der Second International WWW Conference, in einen Raum im zweiten Stock des Ramada Hotels in Chicago. Er hieß Gold Room. Die Grand Hall gegenüber war ein wenig größer – für die Eröffnungsreden des Tages reserviert – aber der Gold Room reichte für die relativ kleine Gruppe, die es geschafft hatte, das Panel um 8:30 Uhr morgens zu erreichen, vollkommen aus.
Die meisten Anwesenden an diesem Morgen waren wahrscheinlich erschöpft und mit müden Augen, müde von nächtlichen Networking-Veranstaltungen, die sich über die drei vorherigen Nächte erstreckt hatten. Donnerstag war Developer Day, der letzte Tag der Konferenz.
Der Konferenz in Chicago war sechs Monate zuvor die erste WWW-Konferenz in Genf vorausgegangen. Der Kontrast wäre sofort ersichtlich gewesen. Anstatt Breakout-Sessions zu Standards und Spezifikationen, summten die Gänge vor Brancheninsidern und kommerziellen Aufsteigern, die ihre Waren verkauften. In kurzer Zeit hatte das Web Mainstream erreicht. Die Konferenz in Chicago spiegelte diesen Stimmungswechsel wider: Es war eine Branchenveranstaltung mit Vertretern von Microsoft, HP, Silicon Graphics und vielen mehr.
Das Thema der Konferenz war „Mosaic und das Web“, und der Ort der Entstehung von Mosaic, NCSA, hatte geholfen, die Veranstaltung zu organisieren. Dies wurde durch eine Pressemitteilung von Netscape, einem Unternehmen, das größtenteils aus ehemaligen NCSA-Mitarbeitern bestand, nur wenige Tage zuvor dramatisch verstärkt. Die erste Version ihres Browsers – dramatisch als „Mosaic-Killer“ angepriesen – war nicht nur im Beta-Stadium, sondern würde bei Veröffentlichung kostenlos sein (eine Entscheidung, die später rückgängig gemacht werden würde). Die meisten Mitglieder des Netscape-Teams waren anwesend und stellten eine kommerzielle Opposition zu ihrem ehemaligen Arbeitgeber und größten Rivalen dar.
Die große Intrige kommerzieller Auseinandersetzungen überschattete die erste Morgensitzung am letzten Tag der Konferenz, „HTML und SGML: Eine technische Präsentation“. Dies trotz der Tatsache, dass der Schöpfer des Webs, Sir Tim Berners-Lee, das Podium leitete. Der letzte Vortragende war Håkon Wium Lie, der mit Berners-Lee und Robert Calliau bei CERN zusammenarbeitete. Es ging um einen neuen Vorschlag für eine Designsprache, die Lie Cascading HTML Style Sheets nannte. Kurz gesagt: CHSS.
Der Vorschlag war überstürzt zustande gekommen. Ein Gespräch mit dem Standard-Redakteur Dave Ragget überzeugte Lie von der Dringlichkeit. Kurz vor Ablauf der Frist postete Lie den ersten Entwurf seines Vorschlags zehn Tage vor der Konferenz.
Lie war früh und enthusiastisch zum Web gekommen. Früh genug, um Nicola Pellows Zeilen-Browser zu benutzen, um sich in die allererste Website einzuwählen. Und enthusiastisch genug, um sich kurz nach seinem Abschluss am MIT Media Lab im Jahr 1992 Berners-Lee und dem Webteam bei CERN anzuschließen. „Ich hörte den Urknall und rannte los“, beschreibt Lie es.

Nicht lange nachdem er bei CERN anfing, verschob sich die Sprache des Webs. Da sie erkannten, dass das Publikum des Webs den ganzen Tag keinen schwarzen Text auf weißem Hintergrund ertragen konnte, führten die Macher von Mosaic ein Tag ein, das es Website-Erstellern erlaubte, Inline-Bilder zu ihren Websites hinzuzufügen. Sobald das Tor offen war, strömten weitere Funktionen heraus. Mosaic fügte weitere Tags für Farben, Schriftarten und Layout hinzu. Lie und das Team bei CERN konnten nur am Spielfeldrand sitzen und zusehen, eine Tatsache, die Lie später kommentierte: „Es war wie: ‚Verdammt, wir brauchen etwas Schnelles, sonst zerstören sie die HTML-Sprache.‘“
Die bevorstehende Veröffentlichung von Netscape im Jahr 1994 bot keine Erleichterung. Marc Andreessen und sein Team bei Netscape versprachen einen kundenorientierten Webbrowser. Berners-Lee hatte HTML – die einzige Sprache des Webs – entwickelt, um Dokumente zu beschreiben, nicht um sie zu gestalten. Um diese Lücke zu füllen, stopften die Browser die HTML-Sprache mit Tags, um es Designern zu ermöglichen, dynamische und stilisierte Websites zu erstellen.
Das Problem war, dass es noch keinen standardisierten Weg dafür gab. So fügte jeder Browser das hinzu, was er für notwendig hielt, und andere waren gezwungen, entweder nachzuziehen oder eigene Wege zu gehen. „Sobald Bilder in HTML-Dokumenten inline erlaubt waren, wurde das Web zu einem neuen grafischen Designmedium“, schrieb der Programmierer und baldige W3C-Mitglied Chris Lilley damals auf www-talk. „Wenn HTML keine Stylesheets oder ähnliche Informationen hinzugefügt werden, wird der unvermeidliche Preis darin bestehen, dass Dokumente nur auf einem bestimmten Browser gut aussehen.“
Lies Vorschlag – an dem er fast sofort nach seinem Eintritt bei CERN zu arbeiten begann – war für eine zweite Sprache. CHSS verwendete Stylesheets: separate Dokumente, die das visuelle Design von HTML beschrieben, ohne seine Struktur zu beeinträchtigen. Man konnte also sein HTML ändern und sein Stylesheet blieb dasselbe. Ändere das Stylesheet und das HTML blieb dasselbe. Inhalte lebten an einem Ort, Präsentation an einem anderen.
Es gab andere Stylesheet-Vorschläge. Rob Raisch von O'Reilly und Viola-Schöpfer Pei-Yuan Wei hatten jeweils ihre eigene Vorstellung. Die Arbeit bei CERN, wo das Web geschaffen wurde, trug zur Bekanntheit von CHSS bei. Seine relative Einfachheit machte es auch für Browserhersteller attraktiv. Das „Cascade“ in Cascading HTML Style Sheets hob es jedoch hervor.
Jeder Mensch erlebt das Web durch ein Prisma seiner eigenen Erfahrungen. Es wird durch verschiedene Geräte, unter verschiedenen Bedingungen betrachtet. Auf Bildschirmlesern und Telefonen und auf großen Fernsehbildschirmen. Die Wahrnehmung, wie eine Seite aussehen sollte, basierend auf der eigenen Situation, steht im krassen Gegensatz sowohl zur Absicht des Website-Autors als auch zu den Einschränkungen und Fähigkeiten der Browser. Das Web ist daher chaotisch. Mehrere Quellen vermischen sich und konkurrieren darum, wie jede Webseite wahrgenommen wird.
Die Kaskade bringt Ordnung ins Web. Durch ein einfaches Regelwerk können mehrere Parteien – der Browser, der Benutzer und der Website-Autor – die Präsentation von HTML in separaten Stylesheets definieren. Wenn Regeln von einem Stylesheet zum nächsten fließen, gleicht die Kaskade eine Regel gegen eine andere aus und bestimmt den Gewinner. Sie hält das Design für das Web einfach, vererbbar und umfasst seinen natürlichen instabilen Zustand. Es hat sich im Laufe der Zeit geändert, aber die Kaskade hat das Web an neue Computerumgebungen anpassungsfähig gemacht.
Nachdem Lie seine Präsentation im zweiten Stock des Ramada Hotels in Chicago gehalten hatte, monopolisiert die Kaskade die Diskussionen. Die Macher des Webs nutzten den CHSS-Vorschlag als Sprungbrett für eine viel breitere Konversation über Autorenabsicht und Benutzerpräferenzen. In welcher Situation, anders ausgedrückt, sollte das Design eines Website-Autors die Präferenz eines Benutzers oder die Bestimmung eines Browsers überschreiben. Eine produktive Debatte spillte aus dem Raum auf die www-talk-Mailingliste, wo sie von Bert Bos aufgegriffen wurde.

Bos war ein niederländischer Ingenieur, der Mathematik an der Universität Groningen in den Niederlanden studierte. Bevor er seinen Abschluss machte, entwickelte er einen Browser namens Argo, ein bekanntes und nützliches Werkzeug für mehrere Abteilungen der Universität. Argo war aus zwei Gründen bemerkenswert. Erstens enthielt er eine frühe Iteration dessen, was später als Applets bekannt werden sollte. Zweitens enthielt er Bos' eigene Stylesheet-Implementierung, die CHSS nicht unähnlich war. Er erkannte eine Gelegenheit.
„Der Großteil des Inhalts von CSS1 wurde im Juli 1995 auf dem Whiteboard in Sophia-Antipolis diskutiert… Wann immer ich auf schwierige technische Probleme stoße, denke ich an Bert und dieses Whiteboard.“
Hakon Wium Lie
Lie und Bos begannen zusammenzuarbeiten und verschmolzen ihre Vorschläge zu etwas Verfeinertem. Im folgenden Jahr, im Frühjahr 1995, fand die dritte WWW-Konferenz in Darmstadt statt. Netscape, gerade sechs Monate zuvor veröffentlicht, war bereits auf einer neuen Welle der Popularität, angeführt von ihrem neuen CEO Jim Barksdale. Wenige Monate vor dem erfolgreichsten Börsengang der Geschichte würde Netscape bald in die Stratosphäre katapultieren, mit dem Web im Schlepptau, das immer noch neue, nicht standardmäßige HTML-Funktionen hinzufügte, wann immer sie es konnten.
Lie und Bos hatten nur über Fernkommunikation kommuniziert. In Deutschland trafen sie sich zum ersten Mal persönlich und hielten eine gemeinsame Präsentation über einen neuen Vorschlag für Cascading Style Sheets, CSS (das H war inzwischen weggefallen).
Es stand im Gegensatz zu dem, was damals verfügbar war. Mit nur HTML zur Verfügung, waren Webdesigner gezwungen, „Seitenlayouts über Tabellen und Netscapisms wie FONT SIZE zu erstellen“, schrieb damals ein Suck-Kolumnist, später in einer Dissertation von Lie zitiert. Tabellen-überladene Webseiten waren langsam zu laden und für zugängliche Geräte wie Bildschirmlesegeräte schwer zu verstehen. CSS löste diese Probleme. Derselbe Autor lobte CSS, obwohl er nicht an seine Langlebigkeit glaubte, für seine „einfache Eleganz, aber auch… seine Überflüssigkeit und Redundanz.“
Kurz nach der Konferenz schloss sich Bos Lie am W3C an. Sie begannen diesen Sommer mit der Ausarbeitung einer Spezifikation. Lie erinnert sich gerne an die fieberhafte und produktive Arbeit. „Die meisten Inhalte von CSS1 wurden im Juli 1995 auf dem Whiteboard in Sophia-Antipolis diskutiert… Wann immer ich auf schwierige technische Probleme stoße, denke ich an Bert und dieses Whiteboard.“
Chris Wilson war 1995 bereits so etwas wie ein Experte für Browser. Er hatte am NCSA im Mosaic-Team gearbeitet, einer von zwei Programmierern, die die Windows-Version erstellten. Im Keller des NCSA-Labors nahm Wilson eifrig an den Gesprächen teil, die das frühe Web definierten.
Die meisten seiner Kollegen am NCSA packten ihre Sachen und zogen ins Silicon Valley, um an Netscapes „Mosaic-Killer“ zu arbeiten. Wilson wählte einen anderen Weg. Er ließ sich weiter nördlich in Seattle nieder. Sein erster Job war bei Spry, wo er an einem Mosaic-lizenzieren Browser für ihr „Internet In a Box“-Paket arbeitete. Als Ingenieur fiel es Wilson jedoch schwer, die Anziehungskraft von Microsoft in Seattle zu ignorieren. Bis 1995 arbeitete er dort als Softwareentwickler, und bis 1996 wechselte er zum Internet Explorer-Team kurz vor der Veröffentlichung der Version 2 des Browsers.
Internet Explorer war Microsofts späte Markteinführung im Browser-Markt. Bill Gates hatte das Internet und das Web jahrelang notorisch ignoriert, bevor er die Position seines Unternehmens komplett umkehrte. In dieser Zeit hatte Netscape einen sich schnell erweiternden Markt erobert, der nicht existierte, als sie begannen. Sie hatten zwei äußerst erfolgreiche Versionen ihres benutzerfreundlichen, plattformübergreifenden Browsers veröffentlicht. Ihr Fenster zum Web war mit integrierter E-Mail, einem einfachen Installationsprozess und einer neuen Sprache namens JavaScript geschmückt, die es Entwicklern ermöglichte, lebendige Animationen zu einem zuvor trägen Web hinzuzufügen.
Microsoft bot vergleichsweise wenig. Internet Explorer begann als Portierung von Mosaic, aber als Wilson anfing, basierte er auf einer neu geschriebenen Codebasis. Abgesehen von einigen integrierten nativen Microsoft-Funktionen, die für den Unternehmensmarkt attraktiv waren, konnte sich Internet Explorer nicht vom klaren Fokus und dem Tempo von Netscape abheben.
Microsoft brauchte ein Unterscheidungsmerkmal. Wilson glaubte, eines gefunden zu haben. „Es gibt da diese Sache namens Stylesheets“, erinnert sich Wilson an ein Gespräch mit seinem damaligen Chef. „Damit kann man Schriftarten kontrollieren, und man kann wirklich hübsch aussehende Seiten machen. Netscape schaut sich diese Sachen nicht einmal an.“ Wilson erhielt sofort die Genehmigung, mit CSS zu arbeiten.
Zu dieser Zeit war die CSS-Spezifikation noch nicht vollständig. Um die Lücke zu überbrücken, wie die Dinge funktionieren sollten, traf sich Wilson regelmäßig mit Lie, Bos und anderen Mitgliedern des W3C. Sie nahmen Änderungen an ihrem Entwurf der Spezifikation vor, und Wilson probierte sie in seinem Browser aus. Spülen und wiederholen. Später holten sie sogar Vidur Apparao von Netscape in ihre Diskussionen, die formeller wurden. Schließlich wurden sie zur CSS Working Group.
Internet Explorer 3 wurde im August 1996 veröffentlicht. Es war der erste Browser, der irgendeine Unterstützung für CSS hatte, einer Sprache, die vom W3C noch nicht offiziell empfohlen worden war. Das würde später zu einem Problem werden. „Es gibt immer noch eine Menge IE3 da draußen“, würde Lie einige Jahre nach der Erstveröffentlichung sagen, „und da sie der Spezifikation nicht entsprechen, ist es sehr schwer, ein Stylesheet zu schreiben, das sowohl mit IE3 gut funktioniert als auch mit späteren Browsern.“

Zu dieser Zeit war es jedoch äußerst notwendig. Eine funktionierende Version von CSS, die von einem Browser des größten Technologieunternehmens der Welt angetrieben wurde, verlieh Stabilität. Tabellenbasierte Layouts und Netscape-spezifische Tags waren immer noch weiter verbreitet, aber CSS hatte nun eine Chance.
Bis 1997 teilte das W3C die HTML-Arbeitsgruppe in drei Teile, wobei CSS eine eigene dedizierte Gruppe erhielt, die aus dem Ad-hoc-Team des Internet Explorer 3 gebildet wurde. Sie wurde von Chris Lilley geleitet, der als Spezialist für Computergrafik zum Web kam. Lilley hatte Jahre zuvor auf den Bedarf an einer standardisierten Webtechnologie für Design hingewiesen. Am W3C würde er die Anstrengungen dazu leiten.
Die erste formelle Empfehlung von CSS wurde im Dezember 1997 veröffentlicht. Sechs Monate später wurde CSS Version 2 veröffentlicht.
Als Vorsitzender der Arbeitsgruppe war Lilley auf der www-talk-Mailingliste aktiv. Er holte oft Rat ein oder beantwortete Fragen von Entwicklern. Bei einem solchen Austausch erhielt er eine E-Mail von einem Eric Meyer. „Hey, ich habe diese Testseiten zusammengestellt, ich weiß nicht, ob Sie daran interessiert wären“, erinnert sich Meyer an die Nachricht und fügte hinzu, dass er nicht realisiert hätte, „dass es nichts Vergleichbares gab.“
Eric Meyer war auf der Webkonferenz in Chicago, auf der Håkon Lie CSS zum ersten Mal demonstrierte, wenn auch nicht bei der Sitzung. Er hatte erst ein paar Jahre später auf der fünften jährlichen Webkonferenz in Paris tatsächlich die Gelegenheit, CSS zu sehen. Er war dort, um ein Papier über Webtechnologie vorzustellen, das er während seiner Tätigkeit als Webmaster an der Case Western entwickelt hatte. Sein eigentlicher Zweck dort war jedoch, die wahrscheinliche Zukunft des Webs zu entdecken.
Er besuchte ein Panel mit Håkon Lie und Bert Bos sowie Dave Raggett. Sie sprachen jeweils über die Fähigkeiten von CSS als Teil der W3C-Spezifikation. Chris Wilson war ebenfalls anwesend, kämpfte mit einer Erkältung, demonstrierte aber dennoch nachdrücklich eine funktionierende Version von CSS im Internet Explorer 3. „Ich hatte noch nie von CSS gehört, aber als dieses Panel vorbei war, fühlte sich die Oberseite meines Kopfes an, als wäre sie explodiert“, würde Meyer später sagen. „Ich war sofort überzeugt. Es fühlte sich einfach richtig an.“

Meyer kam nach Hause und begann, mit CSS zu experimentieren. Aber er stieß schnell auf eine Wand. Er hatte nur wenig mehr als eine Spezifikation zur Verfügung – es gab keine formelle Dokumentation oder CSS-Tutorials –, aber etwas fühlte sich falsch an. Er schrieb ein wenig CSS und erwartete, dass es auf eine Weise funktionierte, und es funktionierte anders.
Da begann er, Testseiten zusammenzustellen. Meyer isolierte seinen Code auf ein einzelnes Feature von CSS. Dann testete er es in verschiedenen Browsern und dokumentierte deren Inkonsistenzen, zusammen mit seinen Vorstellungen davon, wie sie funktionieren sollten. „Ich glaube, es war hauptsächlich die reine Freude daran, ein neues System zu durchkriechen, es auseinanderzunehmen, herauszufinden, wie es funktionierte, und zu dokumentieren, was funktionierte und was nicht. Ich weiß nicht genau, warum mich solche Dinge begeistern, aber sie tun es.“ Über die Jahre hat Meyer auf dieser Art von Experimenten eine Karriere aufgebaut.
Diese Testseiten – veröffentlicht auf Meyers Website und später auf anderen Blogs – dokumentierten sorgfältig und unwissentlich die korrekte Implementierung von CSS gemäß seiner Spezifikation. Als Chris Lilley sie in die Hände bekam, half die CSS Working Group Meyer, sie in die offizielle W3C CSS Test Suite zu verwandeln, ein wichtiges Werkzeug, um Browser bei der Einführung von CSS zu unterstützen.
Testseiten und Tutorials auf Meyers persönlicher Website wurden bald zu regelmäßigen Kolumnen auf beliebten Blogs. Dann sprach ihn O'Reilly an, um ein Buch zu schreiben, das schließlich zu „CSS: The Definitive Guide“ wurde. Die Recherche für das Buch verband Meyer mit den Leuten, die CSS innerhalb des W3C und der Browser entwickelten. Er wiederum teilte sein Wissen mit der Webentwicklergemeinschaft. Bald hatte sich Meyer als zentrale Figur in der Geschichte von CSS etabliert.
Seine Arbeit ging weiter. Als das Web Standards Project den Programmierer John Allsopp kontaktierte, um ein Komitee für CSS zu bilden, dachte er sofort an Meyer. Meyer schloss sich Allsopp und mehreren anderen an: Sue Sims, Ian Hickson, David Baron, Roland Eriksson, Ken Gunderson, Brade McDaniel, Liam Quinn und Todd Fahrner. Gemeinsam war ihr offizieller Titel das CSS Action Committee, aber sie nannten sich oft CSS Samurai.
CSS war eine ordnungsgemäß standardisierte Designsprache. Wenn es richtig gemacht wurde, konnte es die Netscape-spezifischen Features und tabellenbasierten Layouts der Vergangenheit ablösen. Aber die Browser holten CSS nicht schnell genug ein, um einige Entwickler zu beruhigen. Und wenn sie es taten, war es oft ein nachträglicher Einfall. „Man kann sich wirklich nicht vorstellen, wenn man es nicht miterlebt hat, wie fehlerhaft, inkonsistent und frustrierend die Browserunterstützung für CSS war“, erinnerte sich Meyer später. Das Ziel der CSS Samurai war es, das zu beheben.
Das Komitee verfolgte einen vertrauten Ansatz des Web Standards Project, indem es einerseits öffentliche Berichte über mangelnde Browserunterstützung veröffentlichte und andererseits privat mit Browserherstellern zusammentraf, um Änderungen zu besprechen. Ein drittes Ziel des Komitees war es, direkt mit den Entwicklern zu sprechen. Grassroots-Bildung wurde zu einem zentralen Ziel der Arbeit der CSS Samurai, ein wirksames Instrument für den Wandel von unten nach oben.
Netscape stellte die größte Hürde dar. Ganz auf JavaScript angewiesen, verwendete Netscape eine nicht standardmäßige Version von CSS namens JSSS, eine Sprache, die inzwischen weitgehend vergessen ist. Der Browser verarbeitete Stylesheets dynamisch mit JavaScript, um die Seite zu rendern, was die Unterstützung ungleichmäßig und oft langsam machte. Erst mit der Veröffentlichung der Gecko-Rendering-Engine Anfang der 2000er Jahre wurde JSSS entfernt. Als sich Netscape im Zuge dieser Änderung in Mozilla verwandelte, würde es schließlich zu einer funktionalen CSS-Implementierung kommen.
Aber mit anderen Browsern, insbesondere mit Versionen von Internet Explorer, die größere Marktanteile eroberten, erwies sich WaSP als erfolgreich. Die Herzen und Köpfe der Entwickler waren bei ihnen, als sie in eine neue Ära des Stylings im Web eintraten.
Es gab mindestens ein Gespräch bei einem Kaffee, das CSS rettete. Es mag mehr gegeben haben, aber das fragliche Gespräch fand 1999 zwischen Todd Fahrner und Tantek Çelik statt. Fahrner war Mitglied des Web Standards Project und ein CSS Samurai, oft an vorderster Front des Wandels. Unter unzähligen Arbeiten mit und für das Web half er Meyer mit der CSS Test Suite und entwickelte einen praktischen Litmustest für CSS-Unterstützung, bekannt als Acid Test.
Çelik arbeitete bei Microsoft. Er war maßgeblich daran beteiligt, die Unterstützung für Webstandards in Internet Explorer für Mac zu implementieren, Jahre bevor andere große Browser dasselbe taten. Çelik würde die Entwicklung von CSS langfristig maßgeblich beeinflussen. Er würde bald dem Web Standards Project Steering Committee beitreten. Später würde er als Mitglied der CSS Working Group mehrere Spezifikationen beitragen und redigieren.
An diesem besonderen Tag, bei einem Kaffee, ging es um die existenzielle Krise des Webs. Jahrelang hatten Browser Ad-hoc-, ungleichmäßige und inkompatible Versionen von CSS hinzugefügt. Mit einer formalisierten Empfehlung des W3C gab es endlich einen objektiv richtigen Weg, Dinge zu tun. Aber wenn Browser die neuen, korrekten Regeln des W3C übernahmen und sie auf all die Seiten anwendeten, die auf den alten, falschen Regeln von früher beruhten, würden sie plötzlich kaputt aussehen.
Was sie brauchten, war ein Schalter. Eine Art Schalter, den Entwickler einschalten konnten, um zu signalisieren, dass sie die neuen, korrekten Regeln wollten. An diesem Tag schlug Fahrner die Verwendung der Doctyp-Deklaration vor. Es ist ein kleiner Text am Anfang der HTML-Seite, der eine Document Type Definition angibt (die Dan Connolly jahrelang am W3C standardisiert hatte). Die Praxis wurde als Doctype Switching bekannt. Das bedeutete, dass neue Seiten CSS richtig codieren konnten, und alte Seiten funktionierten weiterhin einwandfrei.
Als Internet Explorer für Mac Version 5 veröffentlicht wurde, enthielt er Doctyp Switching. Bald taten es alle Browser. Das öffnete die Tür für standardkonformes CSS in Browsern.
„Wir haben nicht gelernt, das Web zu gestalten.“ So lautete die erste Zeile der Einleitung zu Molly Holzschlags Buch aus dem Jahr 2003, Cascading Style Sheets: The Designer’s Edge. Es war eine kühne Aussage, nicht die erste oder die letzte von Holzschlag – die einen tiefgreifenden und bleibenden Einfluss auf die Entwicklung des Webs hatte. Im Laufe ihrer Karriere war Holzschlag eine rastlose Fürsprecherin für die Menschen, die das Web nutzen, auch wenn das mit den Herstellern von Webtechnologie kollidierte. Ihre jahrzehntelange Geschichte mit dem Web erstreckte sich weit über CSS hinaus auf fast jeden Aspekt seiner Entwicklung und Evolution.
Holzschlag fährt fort: „Um diesen Punkt in der Geschichte des Webs zu erreichen, mussten wir Richtlinien aus anderen Medien entlehnen, uns durch Browserinkonsistenzen hindurchschlagen und Markups so weit verbiegen, dass wir es kaputt gemacht haben.“

Ende 2000 veröffentlichte Netscape die sechste Version seines Browsers. Internet Explorer 6 kam kurz darauf heraus. Die Stylesheets für diese Browser waren weitaus leistungsfähiger als alle bisherigen. Aber Microsoft veröffentlichte fünf Jahre lang keinen weiteren Browser. Netscape, von Microsoft praktisch besiegt, würde Jahre brauchen, um sich neu zu formieren und als der leistungsfähigere und standardkonforme Firefox wieder aufzutauchen.
Die Arbeit des Web Standards Project und des W3C hatte eine funktionierende Version von CSS ins Web gebracht. Aber sie war unvollständig und oft schwer verständlich. Und Entwickler mussten ältere Browser berücksichtigen, die viele Leute immer noch benutzten.
In den frühen 2000er Jahren waren die Schöpfer des Webs zwischen einer Vergangenheit voller Inkonsistenzen und einer Zukunft gefangen, die ihre Fantasie beflügelte. „Designer und Entwickler verschoben die Grenzen dessen, wozu Browser fähig waren“, erinnert sich der Webentwickler Eevee an die Verwendung von CSS zu dieser Zeit. „Browser handhabten das alles einigermaßen schlecht. Alle Fixes, Workarounds und Bibliotheken waren obskur, spröde, fehleranfällig und/oder schwer.“
Die meisten Webdesigner verließen sich weiterhin auf eine Kombination aus HTML-Tabellen-Hacks und Netscape-spezifischen Tags, um fortschrittliche Designs zu erstellen. Level zwei von CSS bot noch mehr Möglichkeiten, aber Designer zögerten, voll einzusteigen und riskierten eine schlechte Erfahrung für Netscape-Benutzer. „Netscape Navigator 4 hielt uns alle zurück“, sagte der Entwickler Dave Shea später. „Er unterstützte CSS kaum, und schon gar nicht in einer Kapazität, in der wir komplett tabellenlose Seiten bauen könnten. Und der Business Case für fortlaufende Unterstützung war zu stark, um ihn zu ignorieren.“
Unter der Oberfläche verbreitete sich jedoch eine lebendige und einflussreiche Gemeinschaft neue Ideen über Blogs, Mailinglisten und Bücher. Diese Gemeinschaft stellte clevere Lösungen mit ebenso cleveren Namen vor. Der „Holly Hack“ und „clearfix“ von Position is Everything, gepflegt von Holly Bergevin und John Gallant. Douglas Bowmans „Sliding Doors of CSS“, Dan Webbs und Patrick Griffiths „Suckerfish Dropdowns“ und Dan Ciederholms „Faux Columns“ stammten alle aus Jeffrey Zeldmans A List Apart Blog. Sogar Meyer und Allsopp gründeten die CSS Discuss Mailingliste als Workshop für innovative Ideen und Praktiken.
„Es werden die Leute sein, die CSS in den nächsten Jahren nutzen, die sich die innovativen Designideen ausdenken, die wir brauchen, um das Potenzial des Webs im Allgemeinen voranzutreiben.“
Molly Holzschlag
Dennoch wurde so viel von der Energie dieser Gemeinschaft für Hacks, Workarounds und kreative Lösungen aufgewendet. Die interessantesten Designideen kamen immer mit einem Vorbehalt, einem Stück Code, um es in diesem oder jenem Browser zum Laufen zu bringen. Die erste Ausgabe von CSS Anthology **von Rachel Andrew, die zu einem Handbuch für viele CSS-Entwickler wurde, enthielt ein ganzes Kapitel darüber, was angesichts von Netscape 4 zu tun war.
Die Innovatoren von CSS – geplagt von schwer zu erklärenden Disparitäten – waren gezwungen, die Sprache auseinanderzunehmen und einen Weg zu ihren Designs zu finden. Im Zuge dieser Neuheit entstand eine kreative Welle. Einige der ausdrucksstärksten und raffiniertesten Designs in der Geschichte des Webs entstanden aus dieser Ära.
Diese Gemeinschaft selbst verfiel jedoch oft einer kollektiven Beschäftigung damit, was sie mit CSS machen konnten. Eine Kultur, die manchmal Hacks und Workarounds überbewertete. Weitgehend aus Notwendigkeit konzentrierte sich die gemeinsame Bildung auf das Wie statt auf das Warum. Zu clevere Techniken, die manchmal ihre Nützlichkeit übertrafen.
Das sollte sich ändern. Holzschlag beendete die Einleitung ihres Buches über CSS mit einem Blick in die Zukunft. „Es werden die Leute sein, die CSS in den nächsten Jahren nutzen, die sich die innovativen Designideen ausdenken, die wir brauchen, um das Potenzial des Webs im Allgemeinen voranzutreiben.“
Dave Shea war ein ideologischer Anhänger des Web Standards Project, ein aktives Mitglied einer wachsenden CSS-Community. Er stimmte Holzschlag zu. „Wir traten in eine Periode ein, in der Einzelpersonen die Zukunft des Webs mitgestalten konnten“, würde er den Moment später beschreiben. Wie andere war er frustriert über die Einschränkungen von Browsern ohne CSS-Unterstützung.
Das Gegenmittel gegen diese Art von Frustration war oft, ein wenig Spaß zu haben. Obwohl die Webdesign-Community mit jedem Tag größer wurde, war sie klein und vertraut. Für einige wurde es zu einem Hobby, Inspiration zu verbreiten. Domino Shriver stellte auf seiner Website WebNoveau eine Liste von CSS-Designs zusammen, die später von Meryl Evans gepflegt wurde. Jeden Tag wurden neue, mit CSS gestaltete Webseiten auf der Homepage veröffentlicht. Chris Cascianos Daily CSS Fun änderte diesen Ansatz. Jeden Tag veröffentlichte er ein neues Stylesheet für dieselbe HTML-Datei und fing die breite Palette von Designs ein, die CSS ermöglichte. Im Mai 2003 veröffentlichte Shea seine eigene Version des Formats, als er das CSS Zen Garden startete. Das Projekt basierte auf einer einfachen Prämisse. Jede Seite verwendete exakt dieselbe HTML-Datei mit exakt demselben Inhalt. Das Einzige, was anders war, war das Stylesheet der Seite, das CSS, das auf dieses HTML angewendet wurde. Anstatt sie selbst zu erstellen, sammelte Shea Stylesheets von Entwicklern aus der ganzen Welt, um eine digitale Galerie der CSS-Inspiration zu erstellen. Die Designs reichten von konstruiertem Minimalismus bis hin zu erstaunlich barocken Werken. Es war ein Spielplatz, um zu erkunden, was möglich war.

Gleichzeitig eine Quelle des Einflusses, eine praktische Demonstration der Vorteile von CSS und eine Schau von großartigem Webdesign, verbreitete sich das Zen Garden bis in die entlegensten Winkel des Webs. Was mit fünf Designs begann, entwickelte sich bald zu einer Website mit Dutzenden verschiedener Designs. Und dann mehr. „Hunderte von Designern haben ihre Spuren hinterlassen – und manchmal ihren Ruf – indem sie Zen Garden-Layouts erstellt haben", sagte der Autor Jeffrey Zeldman später in seinem Buch „Designing with Web Standards", und „Zehntausende auf der ganzen Welt haben CSS lieben gelernt, ihretwegen.“
Obwohl Zen Garden das bekannteste wurde, war es nur ein Beitrag zu einem wachsenden Werk an Inspirationsprojekten im Web. Web-Ersteller wollten in die Zukunft blicken.
Im Jahr 2005 veröffentlichte Shea zusammen mit Molly Holzschlag ein Buch, das auf dem Projekt basierte: „The Zen of CSS Design". Bis dahin hatte CSS die volle Aufmerksamkeit der Webdesigner.
1998, im Bemühen, mit Microsoft Schritt zu halten, entschied sich Netscape, seinen Browser kostenlos herauszugeben und seinen Quellcode unter einem neu gegründeten Dachprojekt namens Mozilla Open Source zu stellen, was schließlich zur Veröffentlichung des Firefox-Browsers im Jahr 2003 führte.
David Baron und Ian Hickson begannen beide Ende der 1990er Jahre ihre Karrieren bei Mozilla als Freiwillige und später als Praktikanten im Mozilla Quality Assurance Team, wo sie Fehler bei der Einhaltung von Standards identifizierten. Im Laufe ihrer Arbeit wurden sie nicht nur mit der Funktionsweise von CSS vertraut, sondern auch damit, wie es in der Praxis in einem standardgetriebenen Browser verwendet wurde. Während dieser Zeit wurden Hickson und Baron zu einem integralen Bestandteil einer wachsenden CSS-Community und traten den CSS Samurai bei. Sie halfen beim Schreiben und Ausführen der Tests für die CSS Test Suite. Sie wurden aktive Teilnehmer der www-style Mailingliste und später der CSS Working Group selbst.
Während Meyer sein erstes Buch „CSS: The Definitive Guide" schrieb, erinnerte er sich, Baron und Hickson um Hilfe bei der Klärung einiger Funktionsweisen von CSS gebeten zu haben. „Ich bezweifle, dass ich ihnen jemals nicht mehr danken werde für ihre Hingabe, mich durch die Wildnis meiner eigenen Missverständnisse zu führen", sagte er später. Es war ihre Liebe zum Detail, die sie bald zu einem unglaublichen Gewinn machen sollte.
Browser verstehen Stylesheets, die Sprache von CSS, basierend auf den Worten der Spezifikationen des W3C. Wenn die Sprache nicht spezifisch genug ist oder wenn nicht jeder Grenzfall oder jede Feature-Kombination berücksichtigt wurde, kann dies zu Inkompatibilitäten zwischen Browsern führen. Während seiner Arbeit am W3C halfen Hickson und Baron dabei, die vage Sprache der technischen Spezifikationen in einen klareren Fokus zu rücken. Sie machten die Definition von CSS präziser, konsistenter und einfacher korrekt zu implementieren.
Ihre Arbeit führte zusammen mit Bert Bos, Tantek Çelik, Håkon Lie und anderen zu einer wesentlichen Überarbeitung der zweiten Version von CSS, was der Mitarbeiter der CSS Working Group, Elika Etemad, später als „einen langen Prozess des Stopfens von Löchern, Beheben von Fehlern und Aufbauen von Test-Suiten für den Kern-CSS-Standard" beschrieb. Es war unermüdliche Arbeit, die sowohl Gespräche mit Browser-Programmierern als auch tatsächliche technische Arbeit und das Schreiben umfasste.
Es war auch eine Aufgabe, von der niemand dachte, dass sie sehr lange dauern würde. Es gab zwei Versionen von CSS, die innerhalb weniger Jahre veröffentlicht wurden. Eine geringfügige Überarbeitung sollte einen Bruchteil der Zeit in Anspruch nehmen. Eines Nachts auf einer Konferenz einige Monate später kommentierten mehrere CSS-Editoren, dass sie, wenn sie eine Nacht lang wach blieben, es vielleicht vor dem nächsten Tag schaffen könnten. Stattdessen sollte die Arbeit fast ein Jahrzehnt dauern.
Jahrelang war Elika Etemad, damals nur als „fantasai" bekannt, ein aktives Mitglied der www-style Mailingliste und des Mozilla Bug Trackers. Dies brachte sie in Gespräche mit Browserherstellern und Mitgliedern des W3C. Obwohl sie im Laufe der Jahre mit vielen verschiedenen Mitgliedern der CSS Working Group gesprochen hatte, waren einige ihrer engagiertesten und häufigsten Diskussionen mit David Baron und Ian Hickson. Wie Hickson und Baron entdeckte „fantasai" Fehler und Spezifikationsfehler, die niemand sonst bemerkt hatte – und meldete glücklich, was sie fand.

Diese Arbeit brachte ihr eine Einladung zur W3C Technical Plenary im Jahr 2004 ein. Jedes Jahr reisen Mitglieder der W3C-Arbeitsgruppen zu dem Ereignis an wechselnde Orte (2020 war das erste Jahr, in dem es virtuell stattfand). W3C-Diskussionen finden meist per E-Mail, Telefonkonferenz und redaktionellen Kommentaren statt. Für einige Mitglieder ist die Plenary der einzige Zeitpunkt, an dem sie sich das ganze Jahr über persönlich sehen. 2004 fand sie in Südfrankreich statt, in einer Stadt namens Mandelieu-la-Napoule, mit Blick auf die Bucht von Cannes. Dort trafen Etemad und Baron und Hickson sich zum ersten Mal persönlich.
Die CSS Working Group, mehrere Jahre nach Beginn ihrer Arbeit an CSS 2.1, lud Etemad ein, sich ihnen anzuschließen. Microsoft hatte sich nach der Veröffentlichung von Internet Explorer 6 im Jahr 2001 weitgehend aus dem Standardisierungsprozess zurückgezogen. Die Arbeitsgruppe musste mit aktiv entwickelten Browsern wie Mozilla und Opera arbeiten, während sie durch den stagnierenden IE6 eingeschränkt war. Sie verbrachten Jahre damit, die Details auszuarbeiten, und hatten immer das Gefühl, kurz vor dem Abschluss zu stehen. „Wir sind fast mit den Problemen fertig, und die neuen Probleme, die wir bekommen, sind normalerweise Kleinigkeiten wie Tippfehler und so weiter", postete Hickson 2006, immer noch Jahre von einer endgültigen Spezifikation entfernt.
Während dieser Zeit arbeitete die CSS Working Group auch an etwas Neuem. Hickson und Baron hatten aus CSS 2.1 gelernt, einer erschöpfenden, aber monolithischen Spezifikation. „Wir haben es geschafft", sagte Hickson später, „aber meine Güte, sie sind wahnsinnig kompliziert. Was wir stattdessen hätten tun sollen, ist, die Beschränkungen zu brechen und etwas Einfacheres zu entwickeln, das idealerweise dem entsprach, was die Browser damals implementierten." Im Laufe der Zeit verlagerte die CSS Working Group ihren Ansatz. Spezifikationen waren nicht mehr ein einzelnes, unveränderliches Dokument. Sie würden sich im Laufe der Zeit ändern, um reale Browser-Implementierungen zu berücksichtigen.
Beginnend mit CSS3 wurde auch ein neues Format eingeführt, um eine breitere Palette von Funktionen abzudecken und mit der Browserentwicklung Schritt zu halten. CSS3 besteht aus einer Reihe von Modulen, die jeweils einen einzelnen Funktionsbereich abdecken – einschließlich Farbe, Schriftart, Text und fortgeschrittenerer Konzepte wie Media Queries. „Einige der CSS3-Module sind 'Konzeptalben'", beschreibt ‚fantasai‘, „Spezifikationen, die die Zukunft von CSS skizzieren." Diese „Konzepte" werden unabhängig und in unterschiedlichem Tempo entwickelt. Jedes CSS3-Modul hat seine eigenen Editoren. Kollektiv haben sie zu einer mutigeren Vision von CSS beigetragen. Individuell werden sie parallel zu realen Browser-Implementierungen entwickelt und können sich eigenständig besser an Veränderungen anpassen.
Der modulare Ansatz für CSS3 erwies sich als effektiv. Das zweite Jahrzehnt von CSS würde tiefgreifende Veränderungen und erfrischende neue Funktionen mit sich bringen. Das zweite Jahrzehnt von CSS würde anders sein als das erste. Neue Funktionen würden zu neuen Designs und schließlich zu einem neuen Web führen.
Danke für die Audio-Version – wie üblich, wenn Sie Audio zum RSS hinzufügen, wird es ein echtes Podcast :)
Ich habe das Audio-RSS oben nicht bemerkt
Ich war bei der @Media 2006 Konferenz in London (oben im Artikel erwähnt). Ich traf Eric Meyer, Rachel Andrew und Dave Shea und aß mit Molly Holzschlag zu Mittag. Ich hatte ihre Bücher und benutzte CSS schon seit einiger Zeit auf meinen eigenen Websites und versuchte, die Designagentur, für die ich Web-Arbeit leistete (Erstellung von Websites aus deren Layouts), davon zu überzeugen, dass dies der richtige Weg war, um pixelgenaue Tabellen-basierte Websites zu vergessen. Diese Konferenz gab mir das Vertrauen, härter zu pushen. Ich bin jetzt im Ruhestand, aber das hat einige Erinnerungen wachgerufen.
Diese Zeit war eine wunderbare Konvergenz unglaublicher Ideen in einer relativ kleinen und extrem talentierten Gemeinschaft. Ich bin so froh, einige glückliche Erinnerungen für Sie wiederbelebt zu haben!
Das ist eine wunderbare Geschichte! Ich schätze die Serie sehr. Es wäre tragisch, all die anhaltende, fokussierte Arbeit und Mühe zu vergessen, die in die Schaffung des Webs gesteckt wurde, das wir kennen, gut und schlecht.
Gut recherchiert und gut geschrieben. Sie haben sowohl die technischen Vorteile als auch die starken sozialen Bindungen hinter CSS erfasst.
Wenn ich ein paar Absätze hinzufügen würde, würde ich über die Bedeutung der Acid-Tests (die Interoperabilität sicherstellten) und darüber schreiben, wie Operas CSS-Implementierung (von Geir Ivarsøy) der Community Hoffnung gab: Wenn ein kleiner norwegischer Browser CSS korrekt implementieren kann, können wir Netscape und Microsoft zwingen, ihre Fehler zu beheben.
Vielen Dank fürs Lesen, das bedeutet mir viel.
In einer so ausführlichen Geschichte ist es oft schwierig, die richtigen Momente zu finden, auf die man sich konzentrieren kann. Ich schätze Ihr Feedback, insbesondere zu den Beiträgen von Opera zu CSS und zu Webstandards. Ich hoffe, in zukünftigen Versionen dieses Beitrags oder später in der Serie Platz für diese Geschichte zu finden.
Nochmals vielen Dank fürs Lesen und vielen Dank, dass Sie uns die wunderbare Sprache CSS geschenkt haben!