CSS-Eigenschaft: border-collapse, Kategorien: Rahmen (allgemein), Tabellen (allgemein), Tables (CSS 2.1)
Rahmendarstellung in Tabellen
Bestimmt, ob Tabellenzellen innerhalb einer Tabelle jeweils einen eigenen Rahmen bekommen oder ob die Zellen sich den Rahmen mit den daneben stehenden Zellen teilen.
Kurzbeschreibung | Werte | Standardwert | Kategorie | Hinweis |
---|---|---|---|---|
Rahmendarstellung in Tabellen |
| separate |
Verwandte Eigenschaften aus der Kategorie: Rahmen (allgemein), Tabellen (allgemein), Tables (CSS 2.1):
- border
- border-bottom
- border-bottom-color
- border-bottom-left-radius
- border-bottom-right-radius
- border-bottom-style
- border-bottom-width
- Aktuelle Seite: border-collapse
- border-color
- border-left
- border-left-color
- border-left-style
- border-left-width
- border-radius
- border-right
- border-right-color
- border-right-style
- border-right-width
- border-spacing
- border-style
- border-top
- border-top-color
- border-top-left-radius
- border-top-right-radius
- border-top-style
- border-top-width
- border-width
- box-sizing
- caption-side
- empty-cells
- outline
- outline-color
- outline-offset
- outline-style
- outline-width
- table-layout
- vertical-align
Folgendes ist beim Einsatz von border-collapse zu beachten:
- border-collapse hat zwei mögliche Werte. Beim Standardwert separate hat jede Tabellenzelle einen eigenen Rahmen, auch unabhängig vom Rahmen der Tabelle selber. Beim Wert collapse fallen ("kollabieren") Tabelle und Zellen zusammen, der Rahmen einer Zelle ist gleichzeitig der Rahmen der Nachbarzelle, der per Default vorhandene Zwischenraum zwischen zwei Zellen ist nicht mehr vorhanden.
- Die Größe des Zellabstandes beim Wert separate ist dabei unabhängig von einer Rahmenstärke und ist auch über border-collapse nicht zu beeinflussen. Zellenabstände werden über border-spacing definiert.
- border-collapse muss dabei dem <table>-Tag zugewiesen werden. Eine Zuweisung an eine <th> oder <td> ist ohne Effekt. Die Eigenschaft wirkt auf die komplette Tabelle. Es ist beispielsweise nicht möglich, die Tabellenzellen nach links und rechts "kollabieren" zu lassen und den Zwischenabstand von oben und unten zu erhalten.
- Solange sich Rahmen separat sind, ist die Verteilung der Rahmenfarbe (und weiterer Rahmeneigenschaften) nachvollziehbar. Die Darstellung der Rahmenfarbe ist browserabhängig unterschiedlich, wenn die Rahmen "kollabiert" sind. Im Beispiel Nr. 3 wird deutlich, welche Rahmendefinition verwendet wird. Werden den Zellen vier Farbparameter (für [oben|rechs|unten|links], siehe auch border-color) zugewiesen, wird die Angabe der Zellen für rechts und unten verwendet, mit Ausnahme des Opera, der verhält sich gegenteilig und stellt die Farben für oben uns links dar. Der Tabellenrahmen selber bleibt in dieser Einstellung von den Zellrahmenfarben unberührt.
- Eine vollständige Angabe von beispielsweise border-top einschließlich Breiten- und Farbangabe verändert dieses Verhalten, sie erhält eine höhere Priorität und auch der Rahmen der Tabelle selber wird nach Angabe der <td> dargestellt.
- Browserabhängig ist ebenfalls die Darstellung der Rahmenecken, an denen die unterschiedlichen Rahmen aufeinanderstoßen, sehr unterschiedlich. Zum Teil werden die Schnittkanten diagonal dargestellt, zum Teil zieht sich der Zellenrahmen bis zum Ende der Tabelle durch und bildet senkrechte Schnittkanten. Im Beispiel Nr. 4 und bei Betrachtung in unterschiedlichen Browsern wird deutlich, was mit dieser umständlichen Erklärung gemeint ist.
- Im Detail ist das Verhalten sehr unterschiedlich, grundsätzlich ist die Kombination von verschiedenen Zellenrahmenfarben und -styles in der Praxis selten bzw. so gut wie gar nicht zu finden, von daher sind das hier eher theoretische Betrachtungen.
![]() Firefox | ![]() Chrome | ![]() Internet Explorer | ![]() Safari | ![]() Opera |
|||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CSS21 |
|
|
|
|
|
Weiterführende Informationen zu border-collapse:
- W3C Spezifikation:
http://www.w3.org/TR/CSS21/tables.html#propdef-border-collapse
- letzte CSS-Eigenschaft (Acc-Key: ALT + SHIFT + z):
border-bottom-width - nächste CSS-Eigenschaft (Acc-Key: ALT + SHIFT + w):
border-color
Beispiele
HTML:
<table> <tr> <td>1 1</td> <td>1 2</td> <td>1 3</td> </tr> <tr> <td>2 1</td> <td>2 2</td> <td>2 3</td> </tr> <tr> <td>3 1</td> <td>3 2</td> <td>3 3</td> </tr> </table>
CSS:
table { border: 10px solid blue; } td { border: 4px solid red; padding: 25px; } /* Standarddarstellung. Die Tabelle selber hat einen Rahmen, jede Zelle selber ebenfalls. */
Beispiel Nr. 1 So sieht's aus:
1 1 | 1 2 | 1 3 |
2 1 | 2 2 | 2 3 |
3 1 | 3 2 | 3 3 |
HTML:
<table class="doCollapse"> <tr> <td>1 1</td> <td>1 2</td> <td>1 3</td> </tr> <tr> <td>2 1</td> <td>2 2</td> <td>2 3</td> </tr> <tr> <td>3 1</td> <td>3 2</td> <td>3 3</td> </tr> </table>
CSS:
.doCollapse { border-collapse: collapse; } /* Über collapse "kollabieren" die Zellen, der Zellenrahmen ist gleichzeitig Rahmen der benachbarten Zelle. */
Beispiel Nr. 2 So sieht's aus:
1 1 | 1 2 | 1 3 |
2 1 | 2 2 | 2 3 |
3 1 | 3 2 | 3 3 |
HTML:
<table class="doCollapse doColors"> <tr> <td>1 1</td> <td>1 2</td> <td>1 3</td> </tr> <tr> <td>2 1</td> <td>2 2</td> <td>2 3</td> </tr> <tr> <td>3 1</td> <td>3 2</td> <td>3 3</td> </tr> </table>
CSS:
.doColors { border-color: black; } .doColors td { border-color: blue red yellow green; } /* Eigentlich ist für jede Zellenrahmenseite eine eigene Farbe zugewiesen. Teilen sich die Zellen den Rahmen, werden die Angaben für rechts und unten dargestellt, mit Ausnahmen von Opera, der stellt die Farben für oben und links dar. Die Farbe der Tabelle selber bleibt davon unberührt. */
Beispiel Nr. 3 So sieht's aus:
1 1 | 1 2 | 1 3 |
2 1 | 2 2 | 2 3 |
3 1 | 3 2 | 3 3 |
HTML:
<table class="doCollapse doColors doSpecial"> <tr> <td>1 1</td> <td>1 2</td> <td>1 3</td> </tr> <tr> <td>2 1</td> <td>2 2</td> <td>2 3</td> </tr> <tr> <td>3 1</td> <td>3 2</td> <td>3 3</td> </tr> </table>
CSS:
.doSpecial td { border-top: fuchsia 10px double; } /* Eine vollständige Angabe einer Zellen-border-Eigenschaft betrifft dann auch die Rahmendarstellung der Tabelle selber. Sehr unterschiedlich und browserabhängig ist die Darstellung der Schnittstellen der Rahmen. */
Beispiel Nr. 4 So sieht's aus:
1 1 | 1 2 | 1 3 |
2 1 | 2 2 | 2 3 |
3 1 | 3 2 | 3 3 |
Fehler melden
Diese Referenz ist ein Freizeitprojekt ohne aufwendiges Lektorat oder Vergleichbarem. Von daher lassen sich bei dem Umfang dieser Referenz trotzt größtmöglicher Sorgfalt Fehler nicht vermeiden.
Hilf, die Qualität dieser Seite zu verbessern! Sollte Dir ein Fehler auffallen, sei es in den Erklärungen, Beispielen oder den Informationen zum Browsersupport, seien es orthographische oder grammatikalische, sende eine kurze E-Mail an info@css-wiki.com. Auch Anregungen und Verbesserungsvorschläge sind jeder Zeit Willkommen. Jede E-Mail wird persönlich beantwortet!
Vielen Dank!
Workshop HTML5 & CSS3 (dpunkt.verlag) vom Autor von CSS-Wiki.com
"Dieser
Workshop präsentiert
an einem vorgegebenen professionellen Layout, wie dieses Schritt für
Schritt mit HTML5- und CSS3-Techniken umgesetzt wird. Die Trennung von grafischer Gestaltung und technischer Realisierung
entspricht zeitgemäßen Arbeitsprozessen. Der praxisnahe Ansatz zeigt, welche HTML- und CSS-Techniken relevant sind und wann man sie einsetzt."
HTML- und CSS-Grundlagen ergänzen den HTML5-CSS3-Workshop in eigenständigen Kapiteln und machen das Buch zu einer Mischung aus schrittweiser Anleitung und Nachschlagewerk.
- Workshop HTML5 & CSS3 (dpunkt.verlag)
- Verlag: dpunkt.verlag GmbH
- 316 Seiten, komplett in Farbe, Broschur, 23,8 x 16,8 x 2 cm
- 29,90 Euro (D) / 30,80 Euro (A)
- 1. Auflage, Erscheinungstermin: 26. September 2012
- ISBN: 978-3-89864-807-3
- Bestellen bei amazon.de
- E-Book: ISBN PDF: 978-3-86491-195-8, 23,99 Euro,
bestellen beim dpunkt.verlag - Begleithomepage: h5c3.de