Matthias Apsel: caption-side CSS2 CSS3

Om nah hoo pez nyeetz, alle!

In CSS2 werden Tabellenüberschriften mit der Ausrichtung links bzw. rechts anders behandelt als oben bzw unten. [CSS2-17.4.1]. In der aktuellen CSS-Spezifikation heißt es dazu, dass man top-outside bzw. bottom-outside verwenden soll. Auf den Seiten der CSS-Arbeitsgruppe heißt es hingegen, "Das Model wird in CSS3 dasselbe sein wie in CSS2, ..."

Nun sieht allerdings eine Tabellenüberschrift mit {caption-side: right; vertical-align: bottom;} anders aus als eine mit {caption-side: bottom-outside;}, weil letzteres im Wesentlichen ein Block-Element darstellt.

Frage: Werden die CSS2-Werte "left" und "right" für caption-side irgendwann "abgeschaltet"? Ich frage in Hinblick auf einen zu schreibenden Artikel für das Wiki.

Matthias

--
http://www.billiger-im-urlaub.de/kreis_sw.gif
  1. Hallo,

    In CSS2 werden Tabellenüberschriften mit der Ausrichtung links bzw. rechts anders behandelt als oben bzw unten. [CSS2-17.4.1]. In der aktuellen CSS-Spezifikation heißt es dazu, dass man top-outside bzw. bottom-outside verwenden soll. Auf den Seiten der CSS-Arbeitsgruppe heißt es hingegen, "Das Model wird in CSS3 dasselbe sein wie in CSS2, ..."

    "top-outside" und "bottom-outside" beziehen sich auf die Definition von "top" und "bottom" gemäß CSS 2, nicht auf die "left" und "right" Werte dieser Version.

    Der Unterschied liegt darin, ob caption sich innerhalb (CSS 2.1 "top", "bottom") oder außerhalb (CSS 2 "top", "bottom" bzw. CSS 3 "top-outside", "bottom-outside") der anonymen Kontainerbox befindet.

    Das ist insofern wichtig, weil diese Kontainerbox einen block formatting context erzeugt. Bei "top" würden also caption- und table-margins nicht zusammenfallen, bei "top-outside" schon. Ob es andere Auswirkungen gibt, müsste das Tabellenmodul festlegen.

    "left" und "right" sind für CSS 3 anscheinend gar nicht mehr vorgesehen. Theoretisch wäre auch hier ein Unterscheidung zwischen inside und outside erforderlich.

    Dieser Satz, dass CSS 3 gleich CSS 2(.1) sei wird ist schon sehr alt. Wie man am nicht-vorhandensein eines CSS-3-Tabellen-Entwurfs feststellen kann, sind Tabellen nicht sonderlich beliebt und werden vermutlich nur dann mal spezifiziert, wenn wirklich Bedarf besteht (also nie).
    Nützlich wäre ohnehin höchstens col- und rowspan-Eigenschaften.

    Nun sieht allerdings eine Tabellenüberschrift mit {caption-side: right; vertical-align: bottom;} anders aus als eine mit {caption-side: bottom-outside;}, weil letzteres im Wesentlichen ein Block-Element darstellt.

    Ja, captions mit einer "top" oder "bottom" Darstellung sind ganz normale Blockelemente, die lediglich in der Breite durch die anonyme Kontainerbox eingeschränkt werden. Diese Einschränkung gilt nicht für die "outside"-Varianten.

    "left" und "right" werden in Gecko innerhalb der seitlichen margins dargestellt. Laut CSS 2 müssten die captions aber außerhalb des margins Dargestellt werden. Ich bin mir nicht sicher, wie Gecko die Breite dieser captions berechnet.

    Frage: Werden die CSS2-Werte "left" und "right" für caption-side irgendwann "abgeschaltet"? Ich frage in Hinblick auf einen zu schreibenden Artikel für das Wiki.

    Die beiden Werte sind aktuell nur in Gecko implementiert (wie top-outside und bottom-outside ebenfalls). Theoretisch würde Mozilla jetzt prüfen, ob die Werte fürs Web erforderlich sind oder nicht und sie dann ggf. entfernen.

    Allerdings ist die Implementierung der Tabellen in Gecko eine heikle Sache, die lieber nicht angerührt wird.

    Da man zwei interoperable Implementierungen benötigt, um einen Standard verabschieden zu können, werden sich die beiden Werte vermutlich (vorerst) nicht als Standard zu erkennen geben.

    Gruß, Daniel