Chapter 20
Die CSS saga

Originalversion: http://www.w3.org/Style/LieBos2e/history/ 
Übersetzer: Mark Goeder-Tarant

Bitte beachten Sie, dass es sich bei dieser Seite um die Übersetzung eines W3C Textes handelt. Der Original Text ist urheberrechtlich geschützt, bitte beachten Sie die im Originaldokument vermerkten Hinweise. Für diese Übersetzung bedanken wir uns bei HNO Frankfurt, und Wikileaks Forum für ihre Unterstützung.

Dies ist Chapter 20 aus dem Buch Cascading Style Sheets, Designen für das Web, von Håkon Wium Lie und Bert Bos (2nd edition, 1999, Addison Wesley, ISBN 0-201-59625-3)

Die Saga von CSS beginnt in 1994. Einer der Autoren dieses Buches arbeitet bei CERN - die Wiege des Web. Man fängt gerade an, das Web als Platform für elektronisches Publishing zu benutzen. Ein entscheidender Teil des elektronischen Publishings fehlt aber noch: es gibt keine Möglichkeit Dokumente zu entwerfen. Es gibt z.B. keine Methode um ein Zeitungslayout auf einer Webseite darzustellen. Da Håkon bei MIT Media Laboratory an personalisierten Zeitungspresentationen gearbeitet hatte, sah er den Bedarf einer Style Sheet Sprache (Formatvorlagensprache) im Web.

Style Sheets in Browsern waren keine ganz neue Idee. Die Trennung des Dokumentaufbaus vom Dokumentlayout war seit der Gründung 1990 ein Ziel von HTML. Tim Berners-Lee schrieb seinen NeXT Browser/Editor so, dass er den Style mit einem einfachen Style Sheet bestimmen konnte. Jedoch veröffentlichte er nicht den Syntax für die Style Sheets, unter Beachtung, dass es die Sache jeden einzelnen Browsers ist zu entscheiden, wie die Seiten am besten für seine User dargestellt werden. Andere Browser, auch Pei Wei'sViola (1992) und der Harmony Browser (1993)( Der Hyper-G System einer der frühen Web Konkurrenten) hatten vergleichbare Style Sprachen..

Aber statt weiteren Style Sheets boten die folgenden Browser ihren Usern weniger und weniger Optionen, Einfluss auf das Format zu nehmen. Der Browser NCSA Mosaic, der das Web bekannt gemacht hat, kam 1993 raus. Doch den Style betreffend war es ein Schritt rückwärts, weil er den Usern lediglich die Änderung bestimmter Farben und Schriftarten erlaubte.

In der Zwischenzeit beschwerten sich Verfasser von Webseiten, dass sie nicht genug Einfluss auf das Aussehen ihrer Seiten hatten. Eine der ersten Fragen eines Editors, der neu im Web war, war die Frage, wie man Farben und Schriftarten der Elemente ändern kann. Zu dieser Zeit bot HTML diese Funktionsweise nicht an - und mit Recht. Dieser Auszug einer Message, die Anfang 1994 an die www-talk Mailing List gesendet wurde, zeigt das gespannte Verhältnis zwischen Autoren und Implementoren:

(Diese Message ist abrufbar auf dem www-talk Archive.)

Eigentlich war es mir im Laufe des letzten Jahres immer wieder eine Freude vielen vielen Leuten, die - schnallt euch an, jetzt kommts - kontrollieren wollten wie ihre Dokumente aussehen, in einer Weise die trivial wäre in TeX, Microsoft Word und jedem anderen gängigen Textverarbeitungsprogramm, zu sagen: "Tut mir leid, da hast du Pech gehabt."

Der Verfasser der Message war Marc Andreessen, einer der Programmierer hinter NCSA Mosaic. Später wurde er einer der Mitbegründer von Netscape und bis dahin hatten sich seine Ansichten - falls es jemals seine Ansichten waren - geändert. Am 13. Oktober 1994 gab Marc Andreessen bei www-talk dass die erste Beta-Version von Mozilla (was später zum Netscape Navigator wurde) verfügbar war zum Testen. Unter den neuen Tags, die der Browser unterstützte, war Zentrieren und mehr Tags sollten in Kürze folgen.

Drei Tage bevor Netscape die Verfügbarkeit des neuen Browsers ankündigte, veröffentlichte Håkon den ersten Entwurf von Cascading HTML Style Sheets. Hinter den Kulissen hatte Dave Raggett (der führende Architekt von HTML 3.0) die Veröffentlichung des Entwurfs bestärkt, so dass er noch vor der kommenden "Mosaic and the Web" (Die "Mosiac und das Web"-Konferenz fand vom 17 bis 20 Oktober 1995 statt. Es war die zweite Konferenz von dem, was später die WWW Konferenzreihe wurde) Konferenz in Chicago rauskam. Dave hatte begriffen, HTML wollte und sollte sich niemals in eine Page-Description-Sprache wandeln und dass eine speziell angefertigte Einrichtung gebraucht wurde, um den Anforderungen der Autoren gerecht zu werden. Obgleich die erste Version des Dokuments noch nicht ausgereift war, so bot es doch eine brauchbare Basis für Diskussionen.

Unter den Leuten, die auf den ersten Entwurf von CSS reagierten, war auch Bert Bos, der Co-Autor dieses Buches. Zu dieser Zeit baute er Argo (der Argo Browser war Teil eines Projektes, dass das Internet zugänglich gemacht wird für Studenten für Geisteswissenschaften - es bot Plug-Ins, genannt "Applets", noch bevor Netscape sie hatte), Argo ist ein höchst anpassbarer Browser mit Style Sheets und er entschied sich für einen Zusammenschluss mit Håkon. Beide Anregungen unterscheiden sich vom heutigen CSS, aber es ist nicht schwierig die ursprünglichen Konzepte zu erkennen.

Die Argo Style Sprache war allgemein genug um auch mit anderen Markup Sprachen, zusätzlich zu HTML, angewandt werden zu können. Auch dies wurde ein Designziel von CSS und "HTML" wurde bald aus dem Titel der Spezifikation entfernt. Argo hatte noch andere erweiterte Eigenschaften, die man nicht CSS Level 1 einband, im Besonderen Attribute Selectors und Generated Text. Beide Features mussten auf CSS2 warten.

"Cascading Style Sheets" war zu der Zeit nicht die einzige vorgeschlagene Style Sprache. Es gab noch Pei Wei's Sprache des Viola Browsers und Robert Reich vom Verlagshaus O'Reilly hatte schon im Juni 1993 eine andere, geschrieben. Und dann gab es noch DSSSL, eine komplexe Style und Transformationssprache, die bei ISO in Entwicklung war, mit dem Ziel, SGML Dokumente auszudrucken. DSSSL könnte auch bei HTML angewendet werden. Doch hatte CSS ein Feature, das es von allen anderen hervorhob: es wurde berücksichtigt, dass im Web der Style eines Dokuments weder vom Autor noch vom Leser selbst gestaltet werden konnte, aber ihre Wünsche mussten zusammengefasst werden, und tatsächlich, nicht nur die Wünsche der Leser und Autoren, sondern auch die Fähigkeiten des Display Device und des Browsers wurden vereint.

Der anfängliche CSS Entwurf wurde, wie geplant, auf der Chicago Web-Konferenz im November 1994 präsentiert. Die Präsentation am Developers Day verursachte grosse Diskussionen. Erstens, die Balance zwischen Autor und User Präferenz war ganz neu. Ein fiktiver Screenshot zeigte einen Slider mit dem Label "user" auf der einen Seite und "author" auf der anderen. Der User kann den Mix seiner eigenen Präferenzen und denen des Autors ändern, indem er den Slider justiert. Zweitens wurde CSS von einigen als zu einfältig angesehen für die Aufgabe, für die es designed war. Sie argumentierten, dass eine vollständige Programmiersprache nötig war, um Dokumente zu stylen. CSS ging in die exakte Gegenrichtung, indem es zu ihrem Prinzip wurde ein einfaches, deklaratives Format zu sein..

Bei der naechsten WWW-Konferenz im April 1995 war auch CSS wieder vertreten (WWW3, die 3. Konferenz der WWW-Reihe, fand vom 10. bis 14. April 1995 in Darmstadt, Deutschland statt). Beide, Bert und Håkon, waren da (tatsächlich war es das erste Mal, das sie sich persönlich trafen) und dieses Mal konnten sie Umsetzungen zeigen. Bert präsentierte den Support für Style Sheets in Argo und Håkon zeigte eine Version des Arena Browsers, der modifiziert worden war um CSS zu unterstützen. Arena war von Dave Raggett geschrieben worden als ein Prüfstand für neue Ideen, eine davon war Style Sheets. Was anfing als eine technische Präsentation, endete in politischen Diskussionen über die Autor-Leser-Differenz. Vertreter der "Autor"-Seite argumentierten, dass letztendlich der Autor darüber entscheiden soll, wie Dokumente präsentiert werden. Zum Beispiel wurde diskutiert, dass es gesetzliche Bestimmungen geben kann, wie Warnhinweis-Labels gedruckt werden und der User sollte nicht die Schriftgrösse dieser Warnhinweise ändern können. Die andere Seite, zu der auch die Autoren dieses Buches gehörten, argumentierten, dass den Usern, deren Augen und Ohren schliesslich die Präsentation entziffern müssen, das letzte Wort haben sollten wenn es Konflikte gibt.

Neben den politischen Schlachten ging die technische Arbeit weiter. Die www-style Mailing Liste wurde im Mai 1995 angelegt und die dortigen Diskussionen nahmen oft Einfluss auf die Entwicklung der CSS Ausführung. Drei Jahre später gab es bereits mehr als 4000 Messages in den Archiven der Mailing List.

1995 ging das World Wide Web Consortium (W3C) in Betrieb. Viele Firmen schlossen sich dem Konsortium an und das Unternehmen etablierte sich. Es fand sich heraus, dass Workshops verschiedener Themen ein guter Weg war für die W3C Mitglieder und Angestellten aufeinander zu treffen und zukünftige technische Entwicklungen zu besprechen. Deshalb wurde beschlossen, dass es einen weiteren Workshop geben sollten, diesmal mit dem Thema Style Sheets. Die W3C Mitarbeiter, die an Style Sheets arbeiteten (nämlich die Autoren dieses Buches), waren nun in Sophia-Antipolis in Südfrankreich ansässig, wo W3C seine europäische Niederlassung eingerichtet hatte. Südfrankreich ist nicht der schlechteste Ort um Workshopteilnehmer anzulocken, da aber viele der potentiellen Teilnehmer aus den USA kamen, sollte der Workshop aus verkehrstechnischen Gründen (gute Fluganbindungen) in Paris stattfinden. Der Workshop war ausserdem ein Experiment um festzustellen, ob es W3C möglich war, Events ausserhalb der USA auszurichten. Dies war der Fall und es stellte sich heraus, dass dieser Workshop ein Meilenstein war für die Sicherung eines rechtmässigen Platzes der Style Sheets im Web. Unter den Teilnehmern war Thomas Readon von Microsoft, der CSS Unterstützung bei den kommenden Versionen des Internet Explorer versprach.

Ende 1995 wurde das HTML Editorial Review Board (HTML ERB) von W3C eingerichtet, um zukünftige HTML Spezifikationen zu ratifizieren. Seit die Style Sheets im Interessensbereich der Mitglieder der neuen Gruppe waren, wurden die CSS Spezifikationen als Work Item aufgenommen mit dem Ziel, es zu einer Empfehlung zu schaffen. Einer der Mitglieder des HTML ERB war Lou Montulli von Netscape. Nachdem Microsoft signalisiert hatte, dass es CSS Support in seinen Browser einfügen wird, so war es nun wichtig, auch Netscape an Bord zu holen.. Ansonsten waere das Web mit Browsern, die unterschiedliche Spezifikationen unterstützen, in verschiedene Richtungen gegangen. Die Schlachten im HTML ERB waren lang und hart, aber letztendlich im Dezember 1996 entwickelte sich CSS Level 1 zur W3C Empfehlung.

Im Februar 1997 hatte CSS seine eigene Arbeitsgruppe innerhalb W3C und die neue Gruppe machte sich auf den Weg um Features zu finden, die CSS1 nicht anspricht. Den Vorsitz der Gruppe führte Chris Lilley, ein Schotte, den W3C aus der University of Manchester anwarb. Im Mai 1998 wurde CSS Level 2 eine Recommendation und Level 3 wird wahrscheinlich zum Ende 1999 folgen. Inzwischen verlässt sich nicht nur HTML in seiner Gestaltung auf CSS. Auch viele XML-basierende Formate brauchen CSS und die Browser, die Ende 1998 rauskommen, zeigen die ersten, noch etwas eingeschränkten Schritte in Richtung XML Data Präsentation.

Die W3C Arbeitsgruppe, deren offizieller Name "Cascading Style Sheets and Formatting Properties Working Group" ist, besteht, seit sie sich um mehr als nur CSS kümmert, aus 15 Mitlgiedern. Diese werden von Firmen und Organisationen delegiert, die Mitglieder bei W3C sind. Sie kommen aus der ganzen Welt, daher werden die "Meetings" normalerweise ueber Telefon abgehalten, etwa eine Stunde in der Woche. Zirka viermal im Jahr treffen sie sich irgendwo in der Welt. Letzte Tagungsorte waren Provo, Redmond, San Francisco und Paris. Das Meeting in Paris wurde in den Räumen der EDF-GDF, französischen Elektrizitäts- und Gaswerke, abgehalten. Bei diesem Meeting bot man der Gruppe ein grossartiges Dinner: Französiche Küche mit Blick auf Paris und die Seine - einer der wenigen glamourösen Momente in der Geschichte der fleissigen Arbeitsgruppe. Jeder Franzose muss neidisch gewesen sein; sie bekommen normalerweise nichts geschenkt von ihrem Elektrizitäts- und Gasversorger.

Browsern

Die CSS Saga wäre ohne ein Kapitel über Browser nicht komplett. Wäre es nicht für die Browser, CSS wäre ein hochmütiger Vorschlag von ausschliesslich akademischem Interesse geblieben. Der erste kommerzielle Browser mit CSS Unterstützung war Microsoft's Internet Explorer 3, der im August 1996 erschien. Zu diesem Zeitpunkt war CSS1 noch keine W3C Empfehlung und Diskussionen innerhalb des angeführt von Chris Wilson, nicht vorhersehen konnten. Die meisten der Farb-, Hintergrund-, Schrift- und Texteigenschaften werden vom IE3 zuverlässig unterstützt, aber er implementiert nicht viel des Box Models.

Der nächste Browser, der seine Unterstützung ankündigte, war der Netscape Navigator, Version 4.0. Netscape war seit seiner Gründung Style Sheets gegenüber sehr skeptisch.Die erste Implementierung stellte sich als halbherziger Versuch heraus, ebenso Standard-konform zu sein wie Microsoft. Die Netscape Implementation unterstützt eine breite Auswahl an Features - z.B. Floating Elements - doch die Netscape Entwickler hatten keine Zeit für umfassende Tests der angeblich unterstützten Features. Die Folge ist, dass viele CSS Eigenschaften beim Navigator 4 nicht angewandt werden können.

Netscape implementierte CSS intern indem es die CSS Regularien in Schnipsel von Javascript, die dann mit anderen Scripts liefen, umwandelte. Das Unternehmen entschloss sich ausserdem, seine Entwickler JSSS schreiben zu lassen, wodurch es CSS komplett umgehen konnte. Wäre JSSS erfolgreich gewesen, so hätte das Web ein Style Sheet mehr als nötig. Das war aber glücklicherweise nicht der Fall.

Derweil setzte Microsoft seine Bemühungen fort, Netscape vom Herrscherthron der Browser abzulösen. Im Internet Explorer 4 wurde die Browser Display Engine ersetzt durch ein Modul code-named "Trident". Trident beseitigte im IE3 viele der Einschränkungen, hatte aber auch seine eigenen Einschränkungen und Bugs. CSS1 wurde vom IE4 nicht völlig unterstützt, was auch vom Web Standards Project (WaSP) betont wurde, als es im Novemer 1998 "IE's Top 10 CSS Problems" (Stelle(Figure) 20.1) veröffentlichte.

Figure 20.1 Das WaSP Projekt verfolgt die Browserkonformität zu den W3C Recommendations. Eine ihrer ersten Reviews war die CSS Unterstützung im Internet Explorer.

Screendump of WaSP page about M

Zusätzlich zum Anzeigen statischer Dokumente ist Trident ausserdem imstande, stilistische Eigenschaften dynamisch umzuwandeln. Z. B. kann man Elemente auf dem Screen animieren, indem man fortlaufend ihre oberen und linken Eigenschaften ändert, also dynamisches HTML (DHTML) erstellt. Im Prinzip ist DHTML dem JSSS sehr ähnlich (beide wenden Skriptsprachen an, um stilistische Eigenschaften zu setzen), jedoch wurde DHTML nie als eine alternative Style Sheet Sprache vermarktet. In der Tat ist CSS ein integraler Teil von DHTML.

Der dritte Browser, der sich an CSS wagte, war Opera. Der Browser einer kleinen norwegischen Firma machte 1998 Schlagzeilen, weil er klein (er passte auf eine Floppy) und anpassbar war und trotzdem die meisten Features unterstützte, die man auf den grösseren Browsern von Microsoft und Netsccape hatte. Opera 3.5 kam im November 1998 heraus und unterstützte einen Grossteil von CSS1. Die Opera Software Entwickler (namentlich Geir Ivarsoy) fanden auch die Zeit, die Implementation zu testen. Die von Eric Meyer (und Hilfe zahlloser Volunteere) entwickelte CSS1 Test Suite und machte es damit den Implementoren entscheidend leichter, die Produkte zu testen und zu verbessern.

Zur Zeit als dieser Text geschrieben wird, arbeiten beide, Microsoft und Netscape, hart daran, ihre nächsten Browser auf den Markt zu bringen. Netscape hat sich entschieden, die Display Engine im Navigator mit "nglayout" zu ersetzen, die von Grund auf mit CSS als Basis geschrieben wurde. Der neue Browser ist code-named Gecko und Sie können Beta-Versionen von http://www.mozilla.org herunterladen. Microsoft hat Preview-Versionen vom Internet Explorer 5 freigegeben. Einige Verbesserungen sind bereits etabliert, und es wird erwartet, dass die WaSP Initiative das Unternehmen daran erinnert, dass noch etwas Arbeit zu leisten ist bevor CSS1 vollständig unterstützt wird.

Die Web Site dieses Buches wird Hinweise zu den neuesten CSS Browsern haben.