
Generierter Content
User Interface
Tabellen
Als mögliche Werte der Eigenschaft
displayhabe ich Ihnen unter anderemtable,inline-table,table-row-group,table-column,table-column-group,table-header-group,table-footer-group,table-row,table-cellundtable-captionvorgestellt. Die einzelnen Werte lassen sich wie folgt den XHTML-Tabellen-Elementen zuordnen:table { display: table } tr { display: table-row } thead { display: table-header-group } tbody { display: table-row-group } tfoot { display: table-footer-group } col { display: table-column } colgroup { display: table-column-group } td, th { display: table-cell } caption { display: table-caption }- Tabellen verhalten sich im CSS-Box-Modell entweder wie Block- oder wie Inline-Elemente. In beiden Fällen kreieren sie eine anonyme Box, die zum einen die Table-Box und zum anderen die Caption-Box enthält, falls ein Element
caption, also eine Tabellenüberschrift, angegeben wurde. Beide Boxen haben Content-, Padding-, Border- und Margin-Bereiche.
caption-side-
Mit der Eigenschaft
caption-sidebestimmen Sie die Position der Caption-Box im Verhältnis zur Table-Box.top- Die Beschriftung steht über der Tabelle.
bottom- Die Beschriftung steht unter der Tabelle.
left- Die Beschriftung steht links von der Tabelle.
right- Die Beschriftung steht rechts von der Tabelle.
inherit
Das folgende einfache Beispiel demonstriert, wie die Eigenschaft
caption-sideangewendet werden kann.<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Die Eigenschaft 'caption-side'</title> <style type="text/css"> table { caption-side: bottom; border: 1px solid black; } </style> </head> <body> <table> <caption>Beschriftung</caption> <tr> <td>Test</td><td>Test</td><td>Test</td> </tr> <tr> <td>Test</td><td>Test</td><td>Test</td> </tr> <tr> <td>Test</td><td>Test</td><td>Test</td> </tr> </table> </body> </html> table-layout-
Mit der Eigenschaft
table-layoutbeeinflussen Sie die Darstellung von Zelleninhalten bei Breitenangaben.auto- Der Inhalt der Tabellenzellen hat Vorrang vor Breitenangaben.
fixed- Breitenangaben haben Vorrang vor dem Inhalt der Tabellenzellen.
inherit
Folgendes Beispiel stellt beide Werte gegenüber:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Gegenüberstellung 'table-layout'</title> <style type="text/css"> td { border: 1px solid black; width: 150px; } </style> </head> <body> <table style="table-layout: auto"> <caption>Tabelle mit 'table-layout: auto'</caption> <tr> <td>Loremipsumdolorsitametconsectetueradipiscing</td> <td>elitseddiamnonummynibheuismodtinciduntutlaoreet</td> </tr> </table> <table style="table-layout: fixed"> <caption>Tabelle mit 'table-layout: fixed'</caption> <tr> <td>Loremipsumdolorsitametconsectetueradipiscing</td> <td>elitseddiamnonummynibheuismodtinciduntutlaoreet</td> </tr> </table> </body> </html> border-collapse-
CSS unterscheidet zwei Rahmen-Modelle. Mit der Eigenschaft
border-collapsegeben Sie an, welches Rahmen-Modell dargestellt werden soll.separate- Die Tabelle an sich, sowie jede einzelne Zelle hat ihren eigenen, separaten Border-Bereich.
collapse- Die Border-Bereiche werden zusammengelegt.
inherit
Folgendes Beispiel stellt beide Werte gegenüber:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Gegenüberstellung 'border-collapse'</title> <style type="text/css"> table { margin: 1em; border: 4px solid black; } td { border: 1px solid black; } </style> </head> <body> <table style="border-collapse: separate"> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> </table> <table style="border-collapse: collapse"> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> </table> </body> </html> border-spacing-
Für das separierte Rahmen-Modell können Sie mit der Eigenschaft
border-spacingeinen Abstand der Zellen zueinander bestimmen.- <Länge> <Länge>?
- Geben Sie nur eine Länge an, bestimmen Sie den Abstand zu allen vier Seiten, geben Sie zwei Längen an, bestimmt die erste den horizontalen und die zweite den vertikalen Abstand.
inherit
Der Initialwert ist
0.Auch hier ein kleines Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Die Eigenschaft 'border-spacing'</title> <style type="text/css"> table { border-spacing: 20px 10px; border: 8px outset; } td { border: 6px inset; padding: 2px 15px; } </style> </head> <body> <table> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> <tr><td>Test</td><td>Test</td><td>Test</td></tr> </table> </body> </html> empty-cells-
Mit der Eigenschaft
empty-cellsbestimmen Sie, ob leere Zellen im separierten Rahmen-Modell angezeigt werden sollen oder nicht.hide- Leere Zellen werden nicht angezeigt.
show- Leere Zellen werden angezeigt.
inherit
Das folgende Beispiel stellt die beiden Werte
hideundshowgegenüber, jedoch werden Sie nur in wenigen aktuellen Browsern einen Unterschied sehen.<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Gegenüberstellung 'empty-cells'</title> <style type="text/css"> table { border: 1px solid red; margin: 1em; } td { border: 1px solid green; width: 20px; height: 20px; } </style> </head> <body> <table style="empty-cells: hide"> <tr><td>Test</td><td></td><td></td><td></td></tr> <tr><td>Test</td><td>Test</td><td></td><td></td></tr> <tr><td>Test</td><td>Test</td><td>Test</td><td></td></tr> <tr><td>Test</td><td>Test</td><td>Test</td><td>Test</td></tr> </table> <table style="empty-cells: show"> <tr><td>Test</td><td></td><td></td><td></td></tr> <tr><td>Test</td><td>Test</td><td></td><td></td></tr> <tr><td>Test</td><td>Test</td><td>Test</td><td></td></tr> <tr><td>Test</td><td>Test</td><td>Test</td><td>Test</td></tr> </table> </body> </html>