Häufigste Art, eine HTML-Tabelle mit vertikalen Headern zu schreiben?
Hallo alle, es ist schon eine Weile her, ich habe etwas gefragt, das ist etwas, dass hat wurde stört mich für eine Weile, die Frage selbst ist im Titel:
Was ist Ihre bevorzugte Art zu schreiben von HTML-Tabellen, die vertikalen Header?
Durch vertikale header meine ich, dass die Tabelle die Kopfzeile ( <th>
) - tag auf der linken Seite (in der Regel)
Header 1 Daten Daten Daten
Header 2 Daten Daten Daten
Header 3 Daten Daten Daten
So sehen Sie aus, so weit ich ' ve kommen mit zwei Optionen
Erste Option
<table id="vertical-1">
<caption>First Way</caption>
<tr>
<th>Header 1</th>
<td>data</td><td>data</td><td>data</td>
</tr>
<tr>
<th>Header 2</th>
<td>data</td><td>data</td><td>data</td>
</tr>
<tr>
<th>Header 2</th>
<td>data</td><td>data</td><td>data</td>
</tr>
</table>
Der größte Vorteil dieser Art ist, dass Sie den Kopfzeilen der rechten (eigentlich linken) neben den Daten, die er repräsentiert, was ich nicht mag ist jedoch, dass die <thead>
<tbody>
und <tfoot>
- tags fehlen, und es gibt keinen Weg, um Sie ohne die nicelly zusammen platziert Elemente, die dazu führen mich zu der zweiten option.
Zweite Option
<style type="text/css">
#vertical-2 thead,#vertical-2 tbody{
display:inline-block;
}
</style>
<table id="vertical-2">
<caption>Second Way</caption>
<thead>
<tr>
<th colspan="3">Header 1</th>
</tr>
<tr>
<th colspan="3">Header 2</th>
</tr>
<tr>
<th colspan="3">Header 3</th>
</tr>
</thead>
<tbody>
<tr>
<td>row 1</td>
<td>row 1</td>
<td>row 1</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
<td>data</td>
</tr>
<tr>
<td>data</td>
<td>data</td>
<td>data</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4">Footer</td>
</tr>
</tfoot>
</table>
Der Vorteil hier ist, dass Sie einen vollständig beschreibenden html-Tabelle, die Nachteile sind, dass die korrekte Darstellung muss ein bisschen CSS für die tbody
und thead
- tags sind und dass das Verhältnis zwischen dem Header und Daten ist nicht ganz klar, da hatte ich meine Zweifel, wenn das erstellen des Markups.
So, in beide Richtungen die Tabelle Rendern, wie es sollte, hier ein Blick:
Mit dem Header auf der linken oder rechten Seite, wenn Sie würde es vorziehen, also, irgendwelche Vorschläge, alternativen, browser-Probleme?
InformationsquelleAutor der Frage Tristian | 2011-06-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, die zweite option ist nicht ganz valides HTML in dem Sinne, dass alle Zeilen (TR) in eine Tabelle enthalten soll eine gleiche Anzahl von Spalten (TD). Dein header hat 1, während der Körper hat 3. Sollten Sie mit dem colspan-Attribut, um das zu beheben.
Referenz: "Das THEAD -, TFOOT-und TBODY-Abschnitte enthalten müssen die gleiche Anzahl von Spalten." - Im letzten Absatz von Abschnitt 11.2.3.
Mit, dass gesagt wirddie erste option ist der bessere Ansatz ist meiner Meinung nach, denn es ist lesbar, unabhängig davon, ob oder nicht, ich habe CSS aktiviert. Einige Browser (oder Suchmaschinen-crawler) nicht CSS-und als solche, es werden deine Daten machen keinen Sinn, weil der header wird dann repräsentieren Spalten statt Zeilen.
InformationsquelleAutor der Antwort Francois Deschenes
Die Erste Option... ich denke, es ist besser und einfacher Ansatz..
InformationsquelleAutor der Antwort Philemon philip Kunjumon
Ehrlich gesagt, option 1. Ich schlage vor, Sie schauen Sie sich dieses Beispiel aus W3.org(link unten). Ich denke, diese Methode ist die beste, weil auf diese Weise Ihre überschriften werden auch interpretiert werden rechts auf dem Bildschirm-Leser.
https://www.w3.org/WAI/tutorials/tables/one-header/#table-with-header-cells-in-the-first-column-only
InformationsquelleAutor der Antwort Dmitri Chebotarev