Tabellen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Themen: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Grundaufbau einer Tabelle | Eine Tabelle wird mit dem Tag <table>...</table> angelegt, welches den Container für alle weiteren, die Tabelle füllenden Befehle bildet. Wenn die Tabelle als solche mit dem öffnenden <table>-Tag angelegt ist, werden die einzelnen Zeilen mit dem Tag <tr>...</tr> (von Table Row) definiert innerhalb jeder Zeile wird mit dem Zellen-Tag <td>...</td> (von Table Data) die Aufteilung vorgenommen und die Tabelle zellenweise mit Inhalt gefüllt für die Kennzeichnung von Überschriftenzellen gibt es ein spezielles Tag <th>...</th> (von Table Head) welches (natürlich) entfallen kann Die definierende Zeile enthält zwei Attribute, die anschließend erläutert werden. Der etwas umständliche Bau einer Tabelle hat den großen Vorteil, daß Tabellen in jedem lächerlichen Browser, anders als in den besten Schreibprogrammen der Welt, geschachtelt werden können. Das gezeigte Beispiel ist eine geschachtelte Tabelle. Eine unsichtbare große Tabelle dient als Hilfe zur Anordnung beider Blöcke. Unten in der rechten Ecke sieht es unter Umständen doof aus. Einige Browser mögen keine leeren Tabellenzellen. Mindesteintrag ist ein geschütztes Leerzeichen. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Eigenschaften der Tabelle | Die Festlegung der Tabelleneigenschaften erfolgt mit Hilfe von Attributen zu den definierenden Tags. Dabei erfolgen die Festlegungen so allgemein wie möglich: Was die ganze Tabelle betrifft, wird im <table>-Tag festgelegt, was die Zeile betrift im <tr>-Tag usw. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Attribute zum <table>-Tag: |
Der Code, der die abgebildete Tabelle definiert, lautet komplett: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Attribute zum <tr>-Tag: | Wie die folgende Tabelle zeigt, werden nicht alle zulässigen Attribute von allen Browsern umgesetzt. Der Explorer will kein Hintergrundbild für die Zeile; die vertikale Ausrichtung funktioniert bei beiden Großbrowsern nur teilweise und generell besser, wenn die Ausrichtungsattribute zu <td> vergeben werden.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Attribute zum <td>-Tag: | es gelten die Attribute des <tr>-Tags,
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sonstige Tabellentags | Zusätzlich kann die Tabelle eine Über- oder Unterschrift erhalten. Dazu gibt es soger zwei Tags. <th> für Headline und <caption>. Mit align="top/bottom" wird zwischen Über- und Unterschrift unterschieden. In jedem Falle werden sie mittig gesetzt. Theoretisch sollen sie mit align="left/center/right" auch horizontal einstellbar sein. Das geht beim Explorer, bei Netscape nicht. Hier erreicht man mit <div align=right>...</div> noch die rechtsbündige Ausrichtung. Nach links geht es nicht. | Eine Reihe weiterer Tags für die Tabellenbeschreibung sind eigentlich in HTML vorgesehen, werden aber entweder nur vom Explorer oder auch gar nicht genutzt. Dazu gehören: <col> für die Adressierung einer Spalte zu Formatierungszwecken, <colgroup> dasselbe für mehrere Spalten sowie <thead>, <tbody>, <tfoot> für die Adressierung unterschiedlicher Tabellenbereiche. Gleich in ein paar Jahren noch einmal probieren! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gestaltung der Tabelle | Die nackte Tabelle kann vielfältig abgewandelt, angepaßt, wenn man will auch verschönert oder verhunzt werden. Zu beachten ist, daß bei Tabellen, speziell bei der Behandlung von Begrenzungen die Unterschiede der Browser besonders groß sind. Deshalb kann man von aufwendiger Gestaltungsarbeit an Tabellen eigentlich nur abraten. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Zellen verbinden | Die Beispiel-Tabelle enthält verbundene Zellen. Um die Zusammenhänge klar zu machen, wurde zeilenweise eingefärbt. Der Code für die zweite Zelle lautet: <td colspan=4>text</td>, weitere Zellcodes entfallen dann für diese Zeile. Die erste Zelle der zweiten Reihe wird mit <td rowspan=4>XX</td> definiert. Es folgen in dieser Reihe weitere vier Zellen. In den folgenden Zeilen gibt es dann nur jeweils vier Zellen.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Farbe | Die Möglichkeit, den Tabellenhintergrund insgesamt farbig zu gestalten, war schon erwähnt worden. Natürlich geht das auch zellenweise, das entsprechende Attribut bgcolor kann für jede einzelne Zelle vergeben werden. Oft wird es nötig, dabei auch die Schriftfarbe zu ändern, auch das ist innerhalb des <td> bzw. des <th>-Tags mit Hilfe des <font>-Tags möglich.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bilder | Bilder lassen sich wie bei Seiten als Hintergründe einfügen. Bloß leider passiert dabei einiges, was der Nutzer evtl. so nicht wollte. Versuchen Sie, die folgenden Bilder mit Netscape und mit Explorer anzusehen. Sie werden staunen!
Ganz anders das Ergebnis, wenn das gleiche Bild als Zellinhalt geladen wird. Nun ist es natürlich nicht mehr überschreibbar. Die Tabellenformatierungen der oberen Reihe ergeben nun (Bilder zentriert):
Eine Tabelle über einem Bild wäre ja evtl. ganz reizvoll. Beim Explorer kein Problem, Netscape ziert sich.
Man muß zu einer zweiten Tabelle greifen. Die Hintergrundtabelle besitzt nur eine Zelle, ist rahmenlos und enthält das Hintergrundbild in originaler Größe. Sie enthält die eigentliche Tabelle mit gleich angegebenen Pixelwerten. Die eingebaute Tabelle erhält, ohne Angabe von 'background' wieder in jeder Zelle das Hintergrundbild. Erst wenn 'background=""' ergänzt wird, erreicht(e) man das gewünschte Ergebnis. (Anmerkung bei der Nachkontrolle, die Sache lief seinerzeit mit einem Netscape 4.x gut, mein zufällig installierter Netscape 4.y macht sie nicht mehr mit. Netscape 6 dagegen braucht diesen Quatsch nicht!) Testbild zum Vergleich
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ränder | Für Anlage und Breite der Außenberandung ist das Attribut border zuständig. Fehlt es oder erhält es den Wert 0 dann erscheinen weder Außen- noch Binnengrenzen. Werte border>0 setzt die Breite der Außengrenze fest. Es ist auch das einzige Attribut, das für die Randgestaltung vom Navigator akzeptiert wird. Bei HTML 4 gibt es noch: Das Attribut frame, nicht zu verwechseln mit dem <frame>-Tag; es ermöglicht, Tabellenränder individuell zu umrahmen. Für das Tabelleninnere übernimmt das Attribut rules die entsprechenden Aufgabe. Leider haben die meisten Browser (bzw. ihre Programmierer) davon noch nichts gehört. Vergessen wir sie. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| HTML-Kurs, Technische Fachhochschule Wildau © Rolf Hirte, | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||