Zum Inhaltsverzeichnis
B Änderungen gegenüber CSS1
Dieser Anhang ist informell, nicht normativ.
CSS2 baut auf CSS1 auf, und alle gültigen CSS1-Stylesheets sind auch gültige CSS2-Stylesheets. Die Änderungen zwischen der CSS1-Spezifikation (siehe [CSS1]) und dieser Spezifikation können in drei Kategorien eingeteilt werden: neue Funktionen, aktualisierte Beschreibungen von CSS1-Funktionen und Änderungen an CSS1.
B.1 Neue Funktionen
Neben den Funktionen von CSS1 unterstützt CSS2:
- Das Konzept der Medientypen
- Den 'inherit'-Wert für alle Eigenschaften
- Seitenmedien
- Akustische Stylesheets
- Mehrere Funktionsmerkmale im Bereich der Internationalisierung, unter anderem Stile für die Listennummerierung, Unterstützung bidirektionaler Texte und Unterstützung sprachabhängiger Anführungszeichen.
- Einen erweiterten Mechanismus zur Schriftauswahl, unter anderem mit intelligentem Vergleich, Synthese und herunterladbaren Schriften. Darüber hinaus wurde das Konzept von Systemschriften eingeführt ebenso wie eine neue Eigenschaft namens 'font-size-adjust'.
- Tabellen, unter anderem mit neuen Werten für 'display' und 'vertical-align'.
- Relative und absolute Positionierung, inklusive feststehender Positionierung.
- Neue Box-Typen (neben Block und Inline): Compact und Run-in.
- Die Möglichkeit, den Überlauf, das Abschneiden und die Sichtbarkeit von Inhalt im visuellen Formatierungsmodell zu kontrollieren.
- Die Möglichkeit, minimale und maximale Breiten und Höhen im visuellen Formatierungsmodell anzugeben.
- Einen erweiterten Selektor-Mechanismus, unter anderem mit untergeordneten Selektoren, benachbarten Selektoren und Attribut-Selektoren.
- Erzeugten Inhalt, Zähler und automatische Nummerierung sowie Markierungen.
- Textschatten – durch die neue Eigenschaft 'text-shadow'.
- Mehrere neue Pseudo-Klassen: :first-child, :hover, :focus und :lang.
- Systemfarben und -schriften.
- Cursor.
- Dynamische Umrisse.
B.2 Aktualisierte Beschreibungen
Die CSS1-Spezifikation war kurz und präzise. Diese Spezifikation ist sehr viel umfassender und besser lesbar. Ein Großteil des ergänzten Inhalts beschreibt neuen Funktionsumfang, aber auch die CSS1-Funktionsmerkmale sind hier ausführlicher beschrieben. Außer in einigen nachfolgend beschriebenen Fällen bedeuten die umformulierten Beschreibungen keine Änderungen in Syntax oder Semantik.
B.3 Semantische Änderungen gegenüber CSS1
Alle CSS1-Stylesheets sind gültige CSS2-Stylesheets, aber es gibt einige Fälle, wo das CSS1-Stylesheet eine andere Bedeutung erhält, wenn es als CSS2-Stylesheet interpretiert wird. Die meisten Änderungen wurden aufgrund von Erfahrungen bei der Implementierung vorgenommen, die jetzt in die Spezifikation zurückfließen, aber es gibt auch ein paar Maßnahmen zur Fehlerkorrektur.
- Die Bedeutung von „!important“ hat sich geändert. In CSS1 hatte „!important“ im Stylesheet eines Autors Priorität gegenüber „!important“ im Stylesheet eines Benutzers. Das wurde in CSS2 umgekehrt.
- In CSS2 werden Farbwerte relativ zur Geräte-Skala abgeschnitten, nicht relativ zur sRGB-Skala, wie in CSS1.
- CSS1 sagte einfach aus, dass 'margin-right' ignoriert wird, wenn sowohl 'margin-left' als auch 'width' vorgegeben waren. In CSS2 ist es von der Schreibrichtung abhängig, ob 'margin-right' oder 'margin-left' ignoriert wird.
- In CSS1 hatten mehrere Eigenschaften (z.B. 'padding') Werte, die sich auf die Breite des übergeordneten Elements bezogen. Das war ein Fehler; der Wert sollte sich immer auf die Breite eines Elements auf Blockebene beziehen, und diese Spezifikation reflektiert dies durch Einführung des Begriffs „umschließender Block“.
- Der Ausgangswert von 'display' ist in CSS2 'inline', nicht 'block' wie in CSS1.
- In CSS1 wird die Eigenschaft 'clear' auf alle Elemente angewendet. Das war ein Fehler. In CSS2 wird die Eigenschaft nur auf Elemente auf Blockebene angewendet.
- In CSS1 schlossen sich ':link', ':visited' und ':active' wechselseitig aus; in CSS1 kann ':active' gleichzeitig mit ':link' oder ':visited' gesetzt werden.
- Der vorgeschlagene Skalierungsfaktor zwischen benachbarten 'font-size'-Indizies in der Tabelle der Schriftgrößen wurde von 1.5 auf 1.2 reduziert.
- Der berechnete Wert von 'font-size' wird vererbt, nicht der tatsächliche Wert.
- Die CSS1-Beschreibung von 'inside' (für 'list-style-position') erlaubte die Interpretation, dass der linke Rand des Texts gemeint war, und nicht die Position der Kugel-Markierung. In CSS2 wurde diese Interpretationsmöglichkeit entfernt.
- Lesen Sie bitte auch den normativen Abschnitt über die Unterschiede zwischen der CSS1- und dem CSS2-Tokenbildung.