Websiteentwicklung: XHTML: Tabellen

Aus Wikibooks

Wechseln zu: Navigation, Suche
Websiteentwicklung XHTMLBild:Wikibooks buchseite.svg Tabellen


Inhaltsverzeichnis


Tabellen dienen dazu, tabellarische Daten wiederzugeben. Sie werden aber von vielen Webautoren fehlerhaft eingesetzt, um z.B. Elemente zu positionieren. Diese Methode ist zwar einfach, spätestens bei komplexeren Designs kommt es aber zu einem erheblichen Verwaltungsaufwand. Auch die Tatsache, dass Screenreader Probleme mit dem Lesen von sogenannten Layouttabellen haben, sollte nicht unbeachtet bleiben.

Um Tabellen zu erstellen, braucht man 3 verschiedene Tags: <table>, das die Tabelle definiert, <tr>, das eine neue Zeile anfängt, und <td>, das eine neue Zelle definiert.

[Bearbeiten] Beispiel

<table>
    <tr>
        <th>Überschrift, 1. Spalte</th>
        <th>Überschrift, 2. Spalte</th>
        <th>Überschrift, 3. Spalte</th>
    </tr>
    <tr>
        <td>1. Zeile, 1. Spalte</td>
        <td>1. Zeile, 2. Spalte</td>
        <td>1. Zeile, 3. Spalte</td>
    </tr>
    <tr>
        <td>2. Zeile, 1. Spalte</td>
        <td>2. Zeile, 2. Spalte</td>
        <td>2. Zeile, 3. Spalte</td>
    </tr>
    <tr>
        <td>3. Zeile, 1. Spalte</td>
        <td>3. Zeile, 2. Spalte</td>
        <td>3. Zeile, 3. Spalte</td>
    </tr>
</table>

[Bearbeiten] Erklärung

Die Tabelle wird mit <table> eingeleitet. Dann kommt ein <tr> Tag. So wird eine neue Zeile angefangen. Es folgt dann ein <td> Tag, das eine neue Zelle definiert (bzw. <th>, um eine Zelle mit einer Überschrift zu definieren). Hier kommt nun der Zelleninhalt. Dann wird das td-Tag (bzw. <th>) abgeschlossen, es folgen nun so viele neue Zellen, wie Sie wollen. Sie können auch nur 1 Zelle pro Zeile definieren. Das ist aber das Minimum. Wenn sie dann keine neue Zelle für diese Zeile benötigen, wird diese mit </tr> (bzw. </th>) abgeschlossen. Sie können nun wieder so viele neue Zeilen definieren wie Sie möchten. Es sind keine Grenzen gesetzt. Die Tabelle wird dann mit </table> abgeschlossen.

[Bearbeiten] Tabellenformatierung, Abstände

Wie Sie bereits gelernt haben, werden die Style-Angaben direkt in das zu formatierende Tag geschrieben. (Natürlich gibt es auch noch die 2 anderen Methoden). Mit CSS können Sie nun die Zwischenräume zwischen den Zellen bestimmen, den Abstand vom Zelleninhalt zum Zellenrand, Hintergrundfarbe der Tabelle oder Zelle, Rahmenfarbe, Rahmenart, usw. Wir schauen aber in diesem Kapitel nur die Abstände an. Der Rest wird im nächsten Kapitel erklärt. Tipp: Diese 2 CSS-Angaben zur Bestimmung der Abstände können Sie auch in anderen Tags wie p, div, usw. benutzen. Probieren Sie aus, in welchem Tag welche Angabe wie funktioniert.

Die Abstände zwischen den einzelnen Zellen bestimmen Sie mit der Eigenschaft margin:. Als Wert kommt eine Zahl mit der Einheit, z.B. 12pt. Dann folgt wie immer ein Strichpunkt (;). Natürlich können Sie den Abstand auch nur für eine bestimmte Seite bestimmen. Das machen Sie dann mit margin-left, margin-bottom, margin-right, margin-top. Achtung: Wenn Sie einen Abstand für eine oder mehrere Seiten bestimmt haben, dürfen Sie nicht mehr margin verwenden, um bei den restlichen Seiten einen Abstand zu bestimmen.

Die Abstände zwischen Text und Zellenrand bestimmen Sie mit padding. Sie können auch hier, wie oben, die Abstände nur für eine Seite bestimmen.

Diese zwei Eigenschaften schreiben Sie in das <td> Tag. Da es ziemlich mühsam ist bei einer größeren Tabelle jedesmal die Styleangaben in jedes td-Tag zu schreiben, ist es einfacher, wenn Sie die CSS-Angaben direkt im head-Bereich oder in einer externen CSS-Datei machen. So ersparen Sie sich viel Mühe beim Ändern eines Abstandes.

[Bearbeiten] Rahmenbreite

Es ist auch möglich, die Rahmenbreite zu verändern. Das machen Sie auch wieder mit CSS, und zwar mit der Eigenschaft border-width: dann kommt wie immer der Wert, hier in Pixel (px), Punkt (pt), Zentimeter (cm), usw. Sie können auch nur für eine bestimmte Seite die Rahmendicke verändern. Das machen Sie mit border-left-width, border-bottom-width, border-right-width und border-top-width.

[Bearbeiten] Art des Rahmens

Als letztes können Sie auch noch die Art des Rahmens verändern. Es gibt zum Beispiel gestrichelte, gepunktete oder einfache Linien. Das sind aber nicht alle Möglichkeiten. Weiter unten sehen Sie eine kleine Definition, welche Rahmentypen Sie verwenden können. Diese Eigenschaft lautet border-style:, natürlich können Sie, wie auch bei der Rahmenbreite und den verschiedenen Abständen, die Rahmenangabe für jede Seite einzeln definieren. Die Angabe, für welche Seite die Formatierung gelten soll, schreiben Sie zwischen border und style. Bsp: border-left-style:. Es sind folgende Werte möglich:

none    kein Rahmen
hidden 	kein Rahmen
dotted 	gepunktet
dashed 	gestrichelt
solid 	einfache Linie
double 	doppelte Linie
groove 	3D-Effekt
ridge 	3D-Effekt
inset 	3D-Effekt
outset 	3D-Effekt

[Bearbeiten] Beispiel mit CSS im Head-Bereich:

<!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">
    <head>
        <title>Beispiel mit CSS-Angaben im Head-Bereich</title>
        <style type="text/css">
        <!--
            table {
                border-style: double;
                border-width: 3px;
                border-color: black;
                font-family: "comic sans ms", arial, sans-serif;
                font-size:14pt;
                color:blue;
            }
            th.spalte1 {
                border-style: double;
                margin-left: 10px;
                margin-right:20px;
            }
            td.spalte2 {
                border-bottom-style: double;
                border-top-style:double;
                border-left-style:solid;
                border-right-style:solid;
            }
        -->
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th class="spalte1">Name:</th>
                <td class="spalte2" style="border-right-width: 10px;">Muster</td>
            </tr>
            <tr>
                <th class="spalte1">Vorname:</th>
                <td class="spalte2" style="border-left-width: 10px;">Peter</td>
            </tr>
        </table>
    </body>
</html>
Zurück zu Bilder | Hoch zu XHTML | Vor zu Formulare
Persönliche Werkzeuge
Buch erstellen
  • Artikel hinzufügen
  • Hilfe zu Sammlungen