http://jendryschik.de

UX, Usability und Webstandards

Suche
SucheMenü

Die Sprachen des World Wide Webs

Hinweis: Diese »Einführung in XHTML, CSS und Webdesign« ent­spricht der zwei­ten Auf­lage des gleich­na­mi­gen Buches, das im Dezem­ber 2008 im Ver­lag Addison-Wesley erschie­nen ist. Die Inhalte sind mittlerweile veraltet, fast alles hat sich weiterentwickelt. Seit einigen Jahren gibt es HTML5, von XHTML redet niemand mehr, und auch die Entwicklung und Unterstützung von CSS ist um Einiges weiter. Auch fast alle Grundlagentexte müsste man schon lange fortschreiben. Falls Sie die Texte dennoch lesen möchten, behalten Sie das bitte im Hinterkopf.

Zurück zur Startseite und zum Inhaltsverzeichnis des Buchs

HTML

Die Hypertext Markup Language (HTML) bildet zusammen mit den Standards Hypertext Transfer Protocol (HTTP) und Uniform Resource Identifier (URI) die fundamentalen Mechanismen des World Wide Webs. HTML vereint semantische Auszeichnung von Inhalten, und Hypertext und ermöglicht Webautoren, unter anderem

  • Dokumente mit Überschriften, Text, Tabellen, Auflistungen, Hyperlinks zu anderen Dokumenten und Ressourcen, Grafiken sowie anderen Arten von Auszeichnungen online zu veröffentlichen,
  • Formulare zur Interaktion mit Benutzern zu entwerfen, über die diesen Suchfunktionen, Kontakt- und Bestellmöglichkeiten und vieles mehr angeboten werden können, sowie
  • Multimedia-Elemente wie Videos, Musik und Animationen sowie Applikationen direkt in ihre Dokumente einzufügen.

Entwicklung

Als Tim Berners-Lee im Jahr 1990 am CERN-Institut an der Entwicklung einer einfachen Hypertextsprache arbeitete, die in der Lage sein sollte, Basismenüs für die Hypertextnavigation und einfache Dokumente wie Hilfedateien, Protokolle oder technische Dokumentationen zur Verfügung zu stellen, landete er – vor allem aus politischen Gründen – bei SGML (vgl. [Berners-Lee 1999]).

Berners-Lee verfolgte die Idee einer Sprache, die die Struktur eines Hypertextdokuments beschreiben sollte, aber keine Details von dessen Darstellung, um eine optimale Kompatibilität zu allen verschiedenen Bildschirmarten und Papiergrößen zu erzielen, die am CERN zu dieser Zeit verwendet wurden. Aber auf welche Art und Weise sollte die Auszeichnung semantischer Strukturen notiert werden? SGML galt in der damaligen Hypertextgemeinde als der einzige potenzielle Dokumentenstandard. Um sich die breite Unterstützung der Hypertext- und SGML-Anhänger für sein World Wide Web zu sichern, entwickelte Berners-Lee HTML so, dass es wie ein Mitglied der auf SGML basierenden Familie von Auszeichnungssprachen aussah – und es schließlich auch wurde. Das Web benötigte in seinen Anfängen Unterstützung von jeder Seite, die in dessen Einwicklung einbezogen werden konnte, und die SGML-Gemeinde bot in vielerlei Hinsicht eine wertvolle Hilfestellung. Darüber hinaus wurde auf den IBM-Rechnern am CERN ein besonderer Satz von Tags verwendet, die in spitze Klammern gesetzt wurden und der Notation von SGML-Dokumenttypen in dieser Hinsicht ähnelten. So sollte CERN-Mitarbeitern die Verwendung von HTML schmackhaft gemacht werden.

Dass HTML heute die Gestalt hat, in der es sich präsentiert, ist somit auf einige ganz pragmatische Entscheidungen zurückzuführen; es hätte auch vollkommen anders aussehen können.

Bereits in den ersten Jahren nach seiner Veröffentlichung wurde das Web und mit ihm HTML vor allem aufgrund seiner Einfachheit und seiner Möglichkeiten sehr schnell äußerst populär. Verschiedene Institutionen, vor allem natürlich Browserhersteller, erweiterten HTML auf vielfältige Art und Weise. Da das Web als gemeinsame Basis zur Kommunikation entworfen wurde, ist es allerdings darauf angewiesen, dass Autoren von Webseiten und Entwickler von Browsern und Editoren dieselben Konventionen für HTML einhalten. Andernfalls bestünde die Gefahr, dass das Web auf eine inkompatible Welt bestehend aus proprietären Formaten zusteuert und sich letzten Endes das kommerzielle Potenzial des Webs und die plattformübergreifende Zugänglichkeit seiner Inhalte für alle Beteiligten verringert. Diese Erkenntnis führte dazu, dass HTML im Jahr 1995 unter der Leitung der IETF erstmalig als verbindliche Spezifikation standardisiert und als RFC 1866 »Hypertext Markup Language - 2.0« [RFC-1866 1995] veröffentlicht wurde.

HTML 2.0 umfasste nicht alle Erweiterungen, weder Frames oder Tabellen noch das Einbinden von JavaScript. Die meisten Webautoren setzten sich deshalb über den Standard hinweg, um die Möglichkeiten, die damals aktuelle Browser (vor allem der zu dieser Zeit marktführende Netscape Navigator) boten, ausschöpfen zu können. In dieser Zeit begann eine intensive Zusammenarbeit zwischen dem akademisch orientierten W3C und kommerziell orientierten Softwareherstellern. Früchte dieser Zusammenarbeit waren HTML+ und HTML 3.0, die umfangreichere Versionen von HTML vorschlugen, jedoch zu wenig Konsens fanden, um den Status einer Empfehlung zu erreichen. Im Jahr 1997 schließlich wurde die offizielle Version HTML 3.2 [REC-HTML32 1997] verabschiedet.

HTML 4.0 [REC-HTML40 1998] folgte im Jahr 1998 und erweiterte die Sprache um Mechanismen für Stylesheets und Scripting, Frames, eingebundene Objekte, Internationalisierung und bessere Zugänglichkeit für eingeschränkte Benutzer. Berners-Lee kommentierte den Versionssprung mit folgenden Worten:

»Die Entwicklung von HTML nähert sich ihrem Ende. Jetzt ist es eher notwendig, einige lose Enden zusammenzufügen.«

Ende 1999 wurde HTML 4.01 [REC-HTML401 1999] verabschiedet, das einige Fehler aus HTML 4.0 beseitigte und diese Version ersetzte. HTML 4.01 ist noch heute die »Lingua Franca« des World Wide Webs und eine der populärsten Sprachen in der Welt der Nullen und Einsen, trotz aller weiteren Entwicklungen.

Zum Seitenanfang

XHTML

Die Extensible Hypertext Markup Language (XHTML) ist eine Familie von XML-Dokumenttypen, die den SGML-Dokumenttyp HTML 4.01 in XML »übersetzen«. Einfach ausgedrückt, ist XHTML eine auf XML basierende Auszeichnungssprache, die wie HTML aussieht und funktioniert. Allerdings entspricht XHTML den strengeren Syntaxregeln von XML. XHTML 1.0 entstand im Januar 2000 und enthält mit sehr wenigen Unterschieden den gleichen Sprachumfang wie HTML 4.01.

Im August 2002 erschien XHTML 1.0 in der zweiten Ausgabe [REC-XHTML10 2002], die einige Fehler korrigiert und die Errata in die erste Ausgabe integriert hat.

Die Spezifikation beschreibt XHTML 1.0 als ersten Dokumenttyp einer Familie aktueller und zukünftiger XHTML-Dokumenttypen und -Module, die sowohl XML-konform sind und somit mit speziellen XML-Benutzerprogrammen angezeigt und verarbeitet werden können als auch – wenn einige einfache Richtlinien befolgt werden – im HTML 4-konformen Benutzerprogrammen funktionieren, also in jedem Browser angezeigt werden können.

Im April 2001 wurde die W3C-Empfehlung »Modularisierung von XHTML« [REC-ModXHTML 2001] veröffentlicht. Darin werden die in XHTML 1.0 verfügbaren Elementtypen in eine Sammlung von abstrakten Modulen aufgeteilt, die bestimmte Funktionsbereiche abbilden. Module können miteinander und mit anderen Modulen kombiniert werden, sodass darauf basierend sowohl erweiterte als auch abgespeckte Dokumenttypen entworfen werden können.

XHTML 1.1 [REC-XHTML11 2001] wurde im Mai 2001 basierend auf der Modularisierung von XHTML als modulbasierte Sprache entworfen. War XHTML 1.0 lediglich eine Migration des aus HTML 4.01 bekannten Sprachumfangs in die Welt von XML, so stellte XHTML 1.1 nun einen vollkommen von Altlasten bereinigten Neuentwurf der Sprache dar, der nicht mehr kompatibel zu HTML ist. Während XHTML 1.0 nahezu dasselbe Vokabular umfasst wie HTML 4.01 und daher ebenfalls mit dem für HTML-Dokumente vorgesehenen MIME-Typ text/html ausgeliefert werden kann, sollten XHTML 1.1-Dokumente mit dem XHTML-MIME-Typ application/xhtml+xml ausgeliefert werden. Der Internet Explorer und zahlreiche andere Benutzerprogramme können diesen MIME-Typ jedoch nicht verarbeiten; Ihre Webseiten würden in diesen Browsern im Allgemeinen nicht angezeigt, sondern zum Download angeboten werden. Daher und auch aus anderen Gründen ist XHTML 1.1 noch nicht praxistauglich. Vielleicht wird es mir erlaubt sein, in einer dritten Auflage dieser Einführung über XHTML 1.1 zu berichten.

Zum Seitenanfang

Warum sollten Webautoren heute auf XHTML setzen?

Sie haben bereits gelesen, dass SGML eine sehr komplexe Sprache ist, die es schwer, wenn nicht nahezu unmöglich macht, Benutzerprogramme zu schreiben, die mit allen Facetten von SGML umgehen können. HTML als SGML-Dokumenttyp hat viel dieser Komplexität übernommen; beispielsweise Shorttags: Konstrukte, die falsch zu sein scheinen (wie <p/Absatz/ statt <p>Absatz</p>, um ein wenig vorzugreifen), aber syntaktisch richtig sind und dennoch von keinem modernen Browser richtig verstanden werden. Webautoren verwenden diese Konstrukte zumeist unabsichtlich und wundern sich dann über eine falsche Darstellung, die aus »Fehlern« resultiert, die sie auch mithilfe von Werkzeugen wie Validatoren nicht aufspüren können, weil es sich rein syntaktisch nicht um Fehler handelt. XHTML als XML-Dokumenttyp gehorcht viel strengeren Regeln als HTML; die Syntax ist eindeutiger. Fehler dieser Art können nicht passieren.

Christoph Schneegans zeigt in seinem Artikel »XHTML-Einmaleins« [Schneegans] viele weitere Beispiele, die den Umgang mit HTML erschweren. Zum einen führt er aus, dass HTML in hohem Maße kontextabhängig ist:

  • <a href=foo.html> ist gültiges HTML, <a href=../foo.html> nicht.
  • <p>x < y</p> dürfen Sie schreiben, <p>x<y</p> hingegen nicht.
  • <p>&uuml</p> ist erlaubt, <p>T&uumlr</p> wiederum verboten.

Darüber hinaus bemängelt Schneegans die Beliebigkeit von HTML.

  • Sie dürfen sowohl <a href=foo.html> als auch <a href="foo.html"> schreiben.
  • <div><p></div> ist korrekt, <div><p></p></div> aber auch.
  • Die Schreibweise <p>&auml</p> ist ebenso gültig wie <p>&auml;</p>.

Diese Mehrdeutigkeiten, die es schwierig machen können, HTML-Dokumente zu lesen und darin Fehler zu finden, vermeidet XHTML durch seine strengere und dadurch einfachere und intuitivere Syntax, die es Anfängern erleichtert, XHTML zu lernen, da sie nicht auf die zahlreichen kleinen Feinheiten und Ausnahmen achten müssen.

Ich möchte nicht verschweigen, dass viele XHTML-Kritiker noch immer mit großer Beharrlichkeit Argumente gegen XHTML vorbringen, die gerade in den Ohren von Anfängern durchaus schlüssig klingen. Ich kann Ihnen versichern, dass kaum eines dieser Argumente stichhaltig und keines praxisrelevant ist. Einer dieser Kritiker ist Ian Hickson, dessen sehr bekannter Artikel Sending XHTML as text/html Considered Harmful jedoch hauptsächlich dadurch besticht, dass er vor allem einseitig und irreführend ist.

Gründe für XHTML

Wie Sie bei der Lektüre dieser Einführung feststellen werden, brauchen Sie vor der Verwendung von XHTML 1.0 nicht zurückzuschrecken. Ganz im Gegenteil: Es gibt handfeste Gründe für den Wechsel von HTML zu XHTML (siehe [Zeldman 2007]):

  • XHTML ist der aktuelle Standard für Webauszeichnungssprachen.
  • XHTML ist so entworfen, dass es gut mit anderen, auf XML basierenden Auszeichnungssprachen, Applikationen und Protokollen zusammenarbeitet.
  • XHTML ist konsistenter als HTML und somit sowohl leichter zu erlernen als auch einfacher zu verarbeiten.
  • XML ist sehr leistungsfähig und mittlerweile praktisch überall anzutreffen, doch leider können die meisten aktuellen Browser mit XML-Technologien noch nicht vollständig umgehen, und es ist daher nicht möglich, Browsern einfach XML vorzusetzen in der Hoffnung, sie würden schon das anzeigen, was man von ihnen erwartet. XHTML 1.0 stellt eine Art Brücke zwischen HTML und XML dar. Es ist leichter, von XHTML 1.0 auf zukünftige XHTML-Versionen zu wechseln als von HTML.
  • XHTML vereinfacht Webautoren die Arbeit, da es klarere und einfachere Regeln gibt. Darüber hinaus gibt es zahlreiche Validatoren (siehe Kapitel 3.2 »Validatoren«), die XHTML-Dokumente wesentlich genauer analysieren können als HTML-Dokumente. Dadurch können Webautoren Fehler besser finden und beseitigen.

Wenn Sie Ihre Webseiten in XHTML verfassen, stehen Ihnen viel effizientere Werkzeuge zur Verfügung als bei HTML, beispielsweise Schema-Validatoren oder die zahlreichen XML-Techniken und -Sprachen, die in den letzten Jahren wie Pilze aus dem Boden schießen. So ist es mithilfe von XSL verhältnismäßig einfach möglich, Inhalte in andere Ausgabeformate zu konvertieren, beispielsweise per XSL-FO in PDF-Dokumente für die Printausgabe.

Wichtig ist allerdings, dass Sie bei der Verwendung von XHTML die HTML-Kompatibilitätsrichtlinien beachten (siehe Kapitel 4.4).

Zum Seitenanfang

Ausblick: XHTML 2.0, (X)HTML 5

Die letzten wesentlichen inhaltlichen Veränderungen der Sprachen HTML und XHTML sind mittlerweile etwa zehn Jahre alt. Seit dieser Zeit sind nahezu keine neuen Elemente und Attribute im Rahmen eines neuen Standards hinzugekommen. Allerdings geschieht seit einiger Zeit hinter den Kulissen eine ganze Menge.

XHTML 2.0

Seit 2002 arbeitet das W3C an XHTML 2.0 [WD-XHTML20 2006], das derzeit noch als Arbeitsentwurf vorliegt und diesen Status auch so bald nicht verlassen wird. Dabei handelt es sich um eine Neuentwicklung von XHTML, die grundlegende Veränderungen im Vergleich zur aktuellen Version vorsieht und mit dieser (und somit auch mit HTML) nicht mehr kompatibel ist. Wichtige Neuerungen sind

  • die vereinfachte, uneingeschränkte Einbindung von Hyperlinks,
  • die einfachere Integration anderer Medien wie Grafiken und Videos,
  • die verbesserten Möglichkeiten, die Zugänglichkeit von Webseiten zu gewährleisten,
  • das ausgereiftere Modell zur Notation von Metadaten sowie
  • zahlreiche neue Elementtypen, darunter Navigationslisten, neue Strukturen für Überschriften und Verbesserung für Codebeispiele.

Bisherige Kernfunktionen von (X)HTML werden in XHTML 2.0 in andere XML-Dokumenttypen ausgelagert, beispielsweise Formulare (XForms) und Frames (XFrames).

XHTML 2.0 verspricht viele nützliche Neuerungen und kann einen echten Fortschritt gegenüber den aktuellen Technologien darstellen. Dieser Fortschritt wird hingegen mit hoher Komplexität erkauft. Zu den aufgeführten XML-Sprachen kommen noch einige weitere hinzu; so müssen Webentwickler, die mit XForms arbeiten wollen, auch XPath und XML Schema verstehen. Im Vergleich zu heute muss ein guter Webentwickler in Zukunft viel mehr Techniken beherrschen, was den einen oder anderen semiprofessionellen Entwickler überfordern könnte. Auch auf Hersteller von Autorenwerkzeugen (beispielsweise Editoren) oder Browsern kommt eine ganze Menge Arbeit zu – implementiert sind die meisten Sprachen derzeit noch nicht einmal ansatzweise.

(X)HTML 5

Einen deutlich praxisnäheren Ansatz verfolgt die WHATWG mit der Entwicklung von (X)HTML 5.

Die WHATWG (Web Hypertext Application Technology Working Group) ist eine Arbeitsgruppe, die 2004 gegründet wurde und sich zum Ziel gesetzt hat, neue Webtechnologien durch die Erweiterung bereits bestehender Technologien zu entwickeln und auf die tatsächlichen Bedürfnisse der Webgemeinde auszurichten. Die Gründung der WHATWG erfolgte als Reaktion auf die schleppende Entwicklung von Webstandards durch das W3C. Beteiligte Unternehmen sind unter anderem die Mozilla Foundation, Opera Software ASA und Apple Inc.

Die WHATWG hat nicht vor, das W3C zu ersetzen oder Standardisierungsprozesse am W3C vorbei zu etablieren. Das Gegenteil ist der Fall: Mitglieder des WHATWG arbeiten zum Teil in W3C-Arbeitsgruppen mit und umgekehrt. In seinem Selbstverständnis ebnet das WHATWG dem W3C sozusagen den Weg: Das letzte Wort hat stets das W3C, dem alle Standards zur Zustimmung oder Nachbesserung vorgelegt werden.

Die bekannteste Entwicklung der WHATWG ist (X)HTML 5 [WD-XHTML5 2008].

(X)HTML 5, zunächst veröffentlicht als »Web Applications 1.0«, ist ein Arbeitsentwurf, der versucht, zahlreiche Standards wie HTML 4, XHTML 1.0 oder DOM unter einen Hut zu bringen und abwärtskompatibel zu erweitern. Ziel ist es, die Unterschiede zwischen den Sprachen zu verringern und eine bessere Zusammenarbeit der Komponenten zu erreichen.

In einer Abstimmung im Mai 2007 haben die Mitglieder der HTML-Arbeitsgruppe entschieden, die Spezifikation von (X)HTML 5 als Startpunkt zur Diskussion und Weiterentwicklung von (X)HTML zu verwenden. Am 22. Januar 2008 hat das W3C den ersten Working Draft (Arbeitsentwurf) von (X)HTML 5 veröffentlicht. Damit wird (X)HTML 5 unter dem Dach des W3C weitergeführt.

Die derzeitigen Entwicklungen sind spannend mitzuverfolgen, aber seien Sie gewiss, es wird noch mehrere Jahre dauern, bis XHTML 2.0 und/oder (X)HTML 5 wirklich praxisrelevant werden. Die WHATWG selbst geht davon aus, dass (X)HTML 5 erst 2022 oder noch später als W3C-Empfehlung fertiggestellt sein wird! Bis dahin werden Sie hoffentlich noch viele Websites mit XHTML 1.0 erstellt haben.

Zum Seitenanfang

CSS

Cascading Style Sheets (CSS) ist eine Formatierungssprache, die es Webautoren gestattet, Formatierungen von strukturierten Dokumenten durchzuführen. CSS wird hauptsächlich verwendet, um HTML- und XHTML-Dokumente für die Ausgabe in unterschiedlichen Medien visuell aufzubereiten, beispielsweise für Computerbildschirme, Drucker, akustische Geräte oder Handhelds. In Kombination mit semantisch reichem (X)HTML erleichtert CSS die Erstellung und Wartung von Webseiten, die weniger Bandbreiten erfordern, zugänglicher sind und dadurch eine größere Klientel erreichen.

Entwicklung

Bereits 1993, also noch vor der Veröffentlichung des ersten HTML-Standards 2.0 durch die IETF, gab es erste Vorschläge für Sprachen, die die zentrale Steuerung der Formatierung von Webdokumenten gestatten und dabei sowohl vom Webautor wie auch vom Nutzer selbst kontrolliert werden können. Dahinter liegt der Gedanke der Trennung des Inhalts von der Präsentation, also der Separation von Markup und Styling. Darauf gehe ich im CSS-Kapitel genauer ein.

Zu den ersten Entwicklern, die den Entwurf einer Stylesheetsprache zur Diskussion vorlegten, gehörte Robert Raisch, damals bei O'Reilly & Associates Inc. angestellt. Er beschrieb seinen Vorschlag WWW HTML Style Guide Recommendations mit folgenden Worten:

»There is a need within the WWW to be able to specify rendering specific information along with the content tagging in a WWW document. It is not appropriate to use HTML for this purpose, since one of the first principles of HTML is to encode objects within a document, not how they might be rendered in a particular environment.«

Die Syntax hatte Raisch extra für seine Stylesheetsprache entworfen. Wie später CSS verfügte sie über Selektoren, Eigenschaften und Werte. Sie war zwar sehr kompakt, aber für Menschen zu schwierig zu lesen, um sich in dieser Form durchzusetzen.

Einen weiteren Vorschlag für eine Stylesheetsprache postete im Oktober 1993 Pei-Yuan Wei, Student an der Universität von Berkeley, in die www-talk-Mailingliste des W3C. Wei hatte soeben ViolaWWW entwickelt, einen der ersten Webbrowser, und seine Stylesheetsprache für ViolaWWW bereits implementiert. Auch diese Syntax basierte darauf, bestimmte HTML-Elementtypen zu selektieren und einer Menge von Eigenschaften bestimmte Werte zuzuweisen. Anders als bei Raischs Entwurf konnte man bei Weis Syntax Zuweisungsblöcke ineinander verschachteln und so Wertzuweisungen für in HTML-Dokumenten verschachtelte Elemente vornehmen, also beispielsweise Zuweisungen für Elemente vom Typ E innerhalb von Elementen des Typs F. Es zeigte sich jedoch, dass diese Form der Syntax die Komplexität der Stylesheets erhöhte und somit die Lesbarkeit für Autoren erschwerte.

1994 näherte sich die Entwicklung dem heutigen CSS durch die Veröffentlichung von Cascading HTML Style Sheets (CHSS) durch Håkon Wium Lie, damals wissenschaftlicher Angestellter am CERN und seit 1999 CTO beim Browserhersteller Opera. Viele heute bekannte Konzepte wurden mit dieser Sprache eingeführt, unter anderem die Spezifität von Selektoren, Regeln für unterschiedliche Medientypen und Kaskade, worüber Lie schrieb:

»The proposed scheme supplies the browser with an ordered list (cascade) of style sheets. The user supplies the initial sheet which may request total control of the presentation, but – more likely – hands most of the influence over to the style sheets referenced in the incoming document.«

Andere Konzepte wie Umgebungsvariablen oder die Möglichkeit, Berechnungen durchzuführen, wurden nicht oder noch nicht übernommen, auch nicht die noch relativ unübersichtliche Syntax.

Zu dieser Zeit arbeitete der Mathematiker Bert Bos, heute Leiter der CSS-Arbeitsgruppe des W3C, an seinem eigenen Webbrowser »Argo« und verwendete in diesem Rahmen seine eigene Stylesheetsprache Stream-based Style Sheets. Lie wurde auf Bos’ Arbeit aufmerksam, und aufgrund ihrer ähnlichen Ideen und Inspirationen entschlossen sie sich, zusammenzuarbeiten und gemeinsam, basierend auf den jeweils entwickelten Konzepten, eine neue Sprache zu entwickeln: CSS. Ihre Entwicklung präsentierten sie 1994 auf der Konferenz »Mosaicand the Web« in Chicago, wo das W3C auf sie aufmerksam wurde und sie einlud, in Rahmen des Konsortiums an CSS weiterzuarbeiten. Im Dezember 1996 wurde dann schließlich CSS 1 als W3C-Empfehlung veröffentlicht.

CSS 1 erlaubte es Webautoren erstmals, in einer übersichtlichen und intuitiven Syntax Farben und Schrifteigenschaften zu definieren, Breiten und Höhen von Elementen zu bestimmen, Text zu formatieren und auszurichten sowie Abstände und Rahmen zu definieren und vieles mehr. Im Januar 1999 folgte eine leicht überarbeitete und fehlerbereinigte Version der CSS 1-Empfehlung [REC-CSS10 1999].

Nicht einmal zwei Jahre nach CSS 1, im Mai 1998, erschien die nächste Version. CSS 2 [REC-CSS20 1998] basierte auf seinem Vorgänger, sodass CSS 1-Dokumente mit wenigen Ausnahmen gültige CSS 2-Dokumente sind. CSS 2 hatte etwa den vierfachen Umfang von CSS 1 und erweiterte den Standard unter anderem um die Unterstützung medienspezifischer Stylesheets, Positionierung von Elementen, Tabellenlayout, Internationalisierung sowie automatische Zähler und Nummerierung.

Derzeit arbeitet die CSS-Arbeitsgruppe parallel an zwei neuen Versionen: CSS 2.1 und CSS 3.

Der aktuelle Arbeitsentwurf für CSS 2.1 [CR-CSS21 2006] erschien im Juli 2007 und stellt einen Sonderfall in der mittlerweile beachtlichen Reihe an W3C-Empfehlungen dar. Anders als gewöhnlich wird kein neuer Standard definiert, sondern es werden jene Teile aus der CSS 2-Empfehlung herangezogen, die sich als stabil und gebrauchstauglich erwiesen haben. Wo Implementierungen in modernen Browsern ganzheitlich vom Standard abweichen, wird der Standard angepasst; Eigenschaften und Werte, die überhaupt noch nicht implementiert wurden, werden als nicht ausgereift definiert und daher entfernt; sie tauchen gegebenenfalls erst in CSS 3 wieder auf.

In der ersten Auflage dieses Buchs habe ich voller Optimismus geschrieben, dass mit der Veröffentlichung von CSS 2.1 als offizielle Empfehlung noch im Jahr 2006 gerechnet wird. Ich schreibe diese Zeilen nun im November 2008, und CSS 2.1 ist zwar kein Working Draft mehr, sondern mittlerweile eine Candidate Recommendation, jedoch noch lange keine fertige Empfehlung (siehe den Recommendation Process in Abschnitt 2.4.2). Realistisch betrachtet, ist es derzeit nicht möglich, einen Veröffentlichungstermin vorauszusagen. Dennoch ist auch diese Auflage auf dem Stand von CSS 2.1, da bis zur Verabschiedung nicht mehr mit größeren Änderungen zu rechnen ist und sich die meisten Browser ohnehin inzwischen eher CSS 2.1 als CSS 2 nähern.

Parallel zu CSS 2.1 arbeitet das W3C an CSS 3. CSS 3 teilt CSS 2 in eine ganze Reihe von Modulen auf, ähnlich wie XHTML durch die Empfehlung »Modularisierung von XHTML« aufgeteilt worden ist. Einige Module werden unverändert übernommen, beispielsweise die Syntax, die meisten jedoch wurden stark erweitert. Das Modul Backgrounds and Borders wird es ermöglichen, Rahmen aus beliebigen Grafiken zu erzeugen, das Multi-column layout module ist ein Modul für Mehrspaltigkeit, und es wird voraussichtlich auch Module für die Formatierung von Hypertextverhalten (Pop-up-Boxen, auf- und zuklappbare Listen oder Fußnoten) und mathematische Formeln geben. Eine Übersicht aller Module bietet die CSS 3-Roadmap Wann die ersten Module als Empfehlung veröffentlicht werden, ist noch nicht festgelegt. Zum Teil können Sie bereits heute CSS 3 einsetzen; an den entsprechenden Stellen weise ich Sie darauf hin. Aber im Allgemeinen ist die Browserunterstützung derzeit noch ziemlich gering – was natürlich nicht verwundern kann.

Zum Seitenanfang

Spezifikationen, Empfehlungen und Arbeitsentwürfe

Tabelle 2.7 gibt einen Überblick über die in diesem Kapitel angesprochenen Sprachen und deren aktuelle Versionen. Gibt es eine deutsche Übersetzung, so wird diese ebenfalls aufgeführt.

Tabelle 2.7: Links zu aktuellen Spezifikationen, Empfehlungen und Arbeitsentwürfen
Sprache Version URL
HTML 2.0 http://www.faqs.org/rfcs/rfc1866.html
3.2 http://www.w3.org/TR/REC-html32
4.01 http://www.w3.org/TR/html4
http://www.edition-w3c.de/TR/html4
XHTML 1.0 http://www.w3.org/TR/xhtml1/
http://www.edition-w3c.de/TR/xhtml1
1.1 http://www.w3.org/TR/xhtml11
http://www.8ung.at/w3c-trans-de/xhtml11
2.0 http://www.w3.org/TR/xhtml2
Modulbasiertes XHTML 1.1 http://www.w3.org/TR/xhtml-modularization
http://www.edition-w3c.de/TR/xhtml-modularization
(X)HTML 5 http://www.w3.org/TR/html5/
CSS 1 http://www.w3.org/TR/REC-CSS1
2 http://www.w3.org/TR/REC-CSS2
http://www.edition-w3c.de/TR/REC-CSS2
2.1 http://www.w3.org/TR/CSS21
3 http://www.w3.org/Style/CSS/current-work