CSS 2.1 · Eigenschaft
CSS-Eigenschaft border-spacing
Vollreferenz zu border-spacing: erlaubte Werte, Ausgangswert, Vererbung, Beispiel – und ein Regler, der zeigt, was die Eigenschaft tut.
border-spacing.probe { border-spacing: 8px; }
| Eigenschaft | Wert | |
|---|---|---|
| margin | 24px | |
| padding | 16px |
Erläuterungen
Im Rahmen des sog. 'Modells der getrennten Rahmen' definiert die Eigenschaft border-spacing die Breite der Räume zwischen den einzelnen Zellen einer Tabelle. In diesem Modell hat jede Zelle ihren eigenen Rahmen, Zwischenräume werden mit den für den Tabellenhintergrund definierten Eigenschaften gefüllt.
Die Eigenschaft border-spacing hat nur dann Auswirkungen, wenn das 'Separated Borders Model' durch den Wert separate der Eigenschaft border-collapse definiert wurde.
Reihen, Spalten oder Gruppen von Reihen oder von Spalten können in diesem Fall keine Rahmen haben, das Anwenderprogramm muß daher Deklarationen der Eigenschaft border für diese Elemente ignorieren.
Die hier definierten Abstände sind nicht mit den Rahmen-Randabständen (margin) anderer Elemente vergleichbar. Sie bestimmen die absoluten Abstände zwischen den Zellen einer Tabelle.
Erlaubte Werte
Auszug aus der Spezifikation (die verwendete Syntax wird im Artikel CSS-Wertesyntax genauer erläutert):
'border-spacing' <length> <length>? | inherit
<length>,<length>- Ein oder zwei Längenangaben. Sind zwei Werte angegeben, dann gilt der erste für den horizontalen und der zweite für den vertikalen Zellenabstand. Ist ein einzelner Wert gegeben, gilt er für beide Richtungen. Negative Werte sind nicht erlaubt.
- Mehr Informationen über Längenwerte in CSS finden Sie im Grundlagenartikel Längenwerte.
- Wichtig: der Ausgangswert für
border-spacingist '0'. Dennoch stellen fast alle modernen Browser die Zellen einer Tabelle mit ein oder zwei Pixeln Zwischenraum dar, wennborder-collapse: separate;deklariert ist. Nur wenn manborder-spacingexplizit mit '0' deklariert, werden die Rahmen benachbarter Zellen direkt neben einander gezeichnet. inherit- Bestimmt explizit, dass diese Eigenschaft denselben berechneten Wert wie im Elternelement annimmt.
Code-Beispiel
(Die Rahmen der einzelnen Zellen der Tabellen in den Screenshots wurden per Inline-Styles definiert.)
TABLE {
border-collapse: separate;
border-spacing: 10px;
border: 2px outset #6699ee;
}

TABLE {
border-collapse: separate;
border-spacing: 30px 10px;
border: 2px outset #6699ee;
}

Browserunterstützung
Die Eigenschaft border-spacing wird nicht von allen modernen Browsern unterstützt:
- IE/Win 5.x, IE/Win 6, IE 7
- IE/Win erkennt das CSS-Tabellenmodell nur teilweise und stellt deshalb Rahmen an Tabellenzellen immer gleich dar bzw. abhängig davon, ob die Zellen gefüllt sind oder nicht. Abhilfe durch das Attribut
cellspacingim Starttagtable. - IE/Mac 5.x
- Beim IE/Mac ist die Darstellung von Rahmen an Tabellenzellen ebenfalls davon abhängig, ob die Zellen leer oder gefüllt sind.
Eric Meyer's CSS2 Test Suite zeigt am praktischen Beispiel, wie die Browser mit dieser Eigenschaft umgehen.
Keine Eigenschaft und kein Selektor stehen in einem Stylesheet für sich allein. In der Praxis kann das Zusammenspiel zwischen verschiedenen Elementen und Selektoren einen nicht zu unterschätzenden Einfluss auf die Fähigkeiten der Browser haben. Bugs treten oft erst durch das Zusammenwirken mehrerer Eigenschaften an unterschiedlichen Elementen auf.
Wechselwirkungen
Nur im Modell der getrennten Rahmen
Die Eigenschaft wirkt nur, wenn die Tabelle die Rahmen ihrer Zellen getrennt darstellt. Im anderen Modell fallen benachbarte Rahmen zu einem zusammen, und ein Abstand zwischen ihnen wäre ein Widerspruch; die Angabe wird dort ignoriert.
Zwei Werte trennen waagerechten und senkrechten Abstand, ein Wert gilt für beide. Der Abstand liegt zwischen den Rahmen der Zellen und zusätzlich zwischen den äußeren Zellen und dem Rahmen der Tabelle, sodass eine Tabelle mit Abstand ringsum eine Fassung bekommt.
Die Eigenschaft wird vererbt und gilt für die Tabelle, nicht für die Zelle. Sie an eine Zelle zu schreiben hat keine Wirkung; die Vererbung sorgt dafür, dass eine Angabe an einem umschließenden Element alle Tabellen darin erreicht.
Abstand, Innenabstand und Außenabstand
Drei Größen wirken an einer Tabellenzelle zusammen und werden leicht verwechselt. Der Innenabstand liegt zwischen Rahmen und Inhalt der Zelle. Diese Eigenschaft legt den Abstand zwischen den Zellen fest. Und Außenabstände gibt es an Tabellenzellen nicht: sie sind dort ohne Wirkung, weil das Tabellenmodell ihre Anordnung selbst bestimmt.
Das ist der Grund, warum sich Zellen ohne diese Eigenschaft nicht auseinanderrücken lassen. Wer es mit Außenabständen versucht, sieht keine Änderung und vermutet den Fehler an der falschen Stelle.
Zusammen mit der Wahl des Rahmenmodells ergibt sich daraus eine einfache Entscheidung: Sollen die Zellen einer Tabelle voneinander abgesetzt wirken, wird das getrennte Modell mit einem Abstand gewählt; soll die Tabelle ein zusammenhängendes Gitter sein, das zusammenfallende.
Besonderheiten im Medientyp handheld
Diese Eigenschaft ist nicht Teil des Standards CSS Mobile Profile 1.0. Das CSS-Tabellenmodell ist für das Medium handheld nicht anwendbar. Die Eigenschaften border-collapse, border-spacing, caption-side und empty-cells sind nicht Teil des Standards 'CSS Mobile'.
Weitere Charakteristika
Die Stylesheet-Schnellreferenz mit einer Zusammenfassung aller visuellen Eigenschaften kann auch als PDF-Datei herunter geladen werden.
- Ausgangswert
0- Berechneter Wert
- Zwei absolute Längenwerte
- Vererbung
- Ja
- Anwendbarkeit
- In Elementen, die als
table- oderinline-tabledargestellt werden. - %-Bezugswert
- Nicht zutreffend
- Mediengruppe(n)
- Visual
Verwendete Standards
Dieser CSS-Referenz liegen folgende Spezifikationen zugrunde: CSS 1, CSS 2.1 CR und CSS Mobile.