| ||||||
HTML I | Schnellkurs | Einführung | Grundgerüst | Text | Bilder | Links | Farben | Tabellen | |||||
HTML II | Trennlinien , Listen | Hintergrundbilder | Frames | Formulare | Meta - Tags | |||||
CSS | Einführung | Style Sheets definieren | einzelne Angaben | |||||
PLUS | Hilfreiches / Tabellen | Software / Tools | Upload der Homepage | Hyperlinks | |||||
FAQ / Goodies | Java | CGI / Perl | SSI |
HTML I : Tabellen || Einführung • Definition einer Tabelle • <table> - Attribute • <td> - Attribute • bekannte Probleme |
Drei Begriffsdefinitionen vorneweg :
Reihen sind die Zeilen der Tabelle ( waagrecht ) .
Kolonnen sind die Gegenstücke dazu , also die senkrechten 'Abschnitte' .
Zellen sind die einzelnen Felder einer Tabelle .
Tabellen sind ein äusserst wichtiges Gestaltungsmittel in HTML - Dokumenten .
Es kann grundsätzlich zwischen blinden und sichtbaren Tabellen unterschieden werden .
blinde Tabelle :
Punkt 1 Punkt 2 Punkt 3 Punkt 4 | Dies ist eine blinde Tabelle , bestehend aus einer Reihe (=Zeile) und zwei Kolonnen . Es sind keine Linien sichtbar . |
sichtbare Tabelle :
Punkt 1 Punkt 2 Punkt 3 Punkt 4 | Dies ist eine sichtbare Tabelle , bestehend aus einer Reihe und zwei Kolonnen. Es sind Linien sichtbar . Dicke und Farbe des Tabellenrahmens können definiert werden ( border und bordercolor ) . Einzelne Tabellenzellen oder die gesamte Tabelle können auch mit einer Hintergrundfarbe oder einem -bild hinterlegt werden ( background bzw. bgcolor ) . |
Natürlich können Tabellen auch miteinander verschachtelt werden :
| Das Menü rechts ist eine separate Tabelle , bestehend aus fünf Reihen und einer Kolonne. Die zweite , blinde Tabelle ( bestehend aus einer Reihe und zwei Kolonnen ) ordnet das Menü und diesen Textblock an . |
Tabellen werden mit Hilfe von drei Tags definiert :
Das mag jetzt alles ein bisschen kompliziert klingen . Sehen wir uns mal die Definition einer Beispieltabelle im Einzelnen an . Angenommen , wir möchten eine Tabelle erstellen mit 2 Reihen ( den waagrechten 'Abschnitten' ) und 3 Kolonnen ( den senkrechten ) .
Also eine Tabelle von folgender Gestalt :
1-1 | 1-2 | 1-3 |
2-1 | 2-2 | 2-3 |
Als erstes notieren wir das <table> - Tag , um eine Tabelle zu definieren :
<table>
</table>
Die Tabelle soll zwei Reihen haben . Der entsprechende Quellcode hat nun also folgende Gestalt :
<table>
<tr>
( Inhalt 1 . Reihe )
</tr>
<tr>
( Inhalt 2. Reihe )
</tr>
</table>
<table>
<tr>
<td> ... Inhalt erste Reihe , erste Zelle.
</td>
<td> ... Inhalt erste Reihe , zweite Zelle.
</td>
<td> ... Inhalt erste Reihe , dritte Zelle.
</td>
</tr>
<tr>
<td> ... Inhalt zweite Reihe , erste Zelle.
</td>
<td> ... Inhalt zweite Reihe , zweite Zelle.
</td>
<td> ... Inhalt zweite Reihe , dritte Zelle.
</td>
</tr>
</table>
Das ganze sieht dann so aus :
... Inhalt erste Reihe , erste Zelle. | ... Inhalt erste Reihe , zweite Zelle. | ... Inhalt erste Reihe , dritte Zelle. |
... Inhalt zweite Reihe , erste Zelle. | ... Inhalt zweite Reihe , zweite Zelle. | ... Inhalt zweite Reihe , dritte Zelle. |
( Natürlich können anstelle von Text auch beliebig andere Objekte eingebunden werden , z.B. Bilder , Trennlinien , etc . )
Um den Tabellenrahmen sichtbar zu machen , muss bloss das Attribut border in das <table> - Tag eingefügt werden ( <table border> ... ):
... Inhalt erste Reihe , erste Zelle. | ... Inhalt erste Reihe , zweite Zelle. | ... Inhalt erste Reihe , dritte Zelle. |
... Inhalt zweite Reihe , erste Zelle. | ... Inhalt zweite Reihe , zweite Zelle. | ... Inhalt zweite Reihe , dritte Zelle. |
Auf die Dauer sind solche Standard - Rahmen natürlich zu langweilig . Auch möchte man z.B. Weite und Höhe , Ausrichtung der Elemente oder Hintergrundfarbe bestimmen . Dafür stehen ein paar Attribute zur Verfügung :
( Übrigens , Tabellenzellen können auch waagrecht oder senkrecht miteinander verbunden werden mit Hilfe des colspan bzw. rowspan - Attributs . Wie das funktioniert , steht ebenfalls weiter unten . )
Auf das <td> - Tag können folgende Attribute ebenfalls angewendet werden :
width , height , align , bgcolor , background
Folgende Attribute kommen noch hinzu :
Nun ein Beispiel mit möglichst allen Attributen :
<table width="80%" height="350" align="center" cellpadding="7" cellspacing="0" border bordercolor="#808080"> |
Ergebnis :
... Inhalt erste Reihe , erste und zweite Zelle ( colspan ). | ... Inhalt erste Reihe , dritte Zelle , Inhalt zweite Reihe , dritte Zelle ( rowspan ) . | |
... Inhalt zweite Reihe , erste Zelle. | ... Inhalt zweite Reihe , zweite Zelle. |
Praktisch jede Webseite verwendet Tabellen .
Ein etwas umfangreicheres ( und grafisch vielleicht ansprechenderes ;) Beispiel innerhalb dieses Kurses gibt es auch noch hier : tabellen02.html .
Definiert ihr einen Hintergrund ( Farbe oder Bild ) , sollte die betreffende Tabelle oder einzelne Zelle mindestens ein geschütztes Leerzeichen enthalten - ansonsten wird die Farbe vom Netscape Navigator nicht angezeigt .
Ein weiteres Problem bei Tabellen ist die ungenaue Darstellung einer in der Breite definierten Tabellenzelle . Bei viel Inhalt in der einen Zelle wird die andere oft unwillkürlich kürzer . Um eine Mindestbreite zu erhalten , bindet man ein transparentes GIF ein :
( ... ) |
Das transparente Gif ist eine 1 x 1 Pixel grosse Grafik mit transparentem Hintergrund. Die erforderliche Länge wird mit dem width- Attribut bestimmt. In meinem Fall habe ich die Grafik 'xsp.gif' benannt (x für Bilddateien [damit sie zuhinterst im Ordner sind], sp für space[r] :). Sie ist daher unter der Adresse xsp.gif abrufbar- oder einfach folgendes Bild speichern:
( 42 Byte , 1x1 Pixel . Vergrössert auf 30 x 30 Pixel und mit einem Rahmen versehen , um einfacheres Speichern zu ermöglichen . )
Analog lässt sich auch eine Mindesthöhe erzwingen .
Ein drittes, häufiges Problem ist die Definition eines Tabellenhintergrundes, falls ihr mehrere Zellen habt. Netscape stellt dabei für jede Zelle das Hintergrund einzeln dar. Um dies zu verhindern, müsst ihr:
Beispiel :<table width="400" height="200" cellspacing="0" background="xild01.jpg"><tr><td><table border width="100%"><tr><td background="xsp.gif"> </td><td background="xsp.gif"> </td></tr><tr><td background="xsp.gif" colspan="2"> </td></tr></table> </td></tr></table> ergibt :
|
Und hier zum Vergleich die 'einfache', Netscape-untaugliche Version:
(Wer mit Netscape surft, wird ihr merken, dass das hier (noch) nicht so ganz hinhaut. -- http://www.ideenreich.com/praxis6.shtml)
| Weiter zum nächsten Kapitel : Trennlinien , Listen | | |
::: © 2000/01 Martin Fux ::: URL dieses Dokuments: http://www.flexdax.org/htmlkurs/tabellen.html |