Zellen in einer Zeile spaltenweise verbinden
itebob
- html
Hallo,
ich habe versucht in diesem selfhtml-Beispiel 'Zellen in einer Zeile spaltenweise verbinden '
http://de.selfhtml.org/html/tabellen/anzeige/colspan.htm
die dritten Spalte mit der zweiten Zeile verbinden:
<h1>Zoologie</h1>
<table border="1">
<tr>
<th colspan="2">Die Menschheit besteht aus</th>
<th rowspan="2">Genies</th>
</tr>
<tr>
<td>Eseln</td>
<td>Affen</td>
</tr>
</table>
Funktioniert auch wunderbar. Voraussetzung ist aber, dass die erste Zeile keine Kopfzeile mit 'head'-Tag ist. So funktioniert es nämlich nicht:
<table border="1">
<thead>
<th colspan="2">Die Menschheit besteht aus</th>
<th rowspan="2">Genies</th>
</thead>
<tr>
<td>Eseln</td>
<td>Affen</td>
</tr>
</table>
mich würde an dieser Stelle interessieren, ob es so entsprechend der (X)HTML-Syntax richtig und gewollt ist - das die zweite Variante nicht funktioniert - oder ist es einfach ein Bug, der einem so das Leben schwer machen kann?
gruss
itebob
Hi,
mich würde an dieser Stelle interessieren, ob es so entsprechend der (X)HTML-Syntax richtig und gewollt ist - das die zweite Variante nicht funktioniert - oder ist es einfach ein Bug, der einem so das Leben schwer machen kann?
Zellen lassen sich nur innerhalb einer Table Section verbinden, also nur innerhalb des <thead>, des <tfoot> oder eines <tbody>. Sektionsübergreifende Verbindungen sind weder möglich noch sinnvoll. Ebenso wenig ist es möglich, eine Zelle per rowspan mit einer anderen Zelle zu verbinden, die per colspan mit einer weiteren Zelle verknüpft wurde.
Cheatah
Hi, Cheatah
Zellen lassen sich nur innerhalb einer Table Section verbinden, also nur innerhalb des <thead>, des <tfoot> oder eines <tbody>. Sektionsübergreifende Verbindungen sind weder möglich noch sinnvoll. Ebenso wenig ist es möglich, eine Zelle per rowspan mit einer anderen Zelle zu verbinden, die per colspan mit einer weiteren Zelle verknüpft wurde.
Aber diese Syntax hier
Beispiel 1:
<table border="1">
<tr>
<th colspan="2">Die Menschheit besteht aus</th>
<th rowspan="2">Genies</th>
</tr>
<tr>
<td>Eseln</td>
<td>Affen</td>
</tr>
</table>
wo es wie gewünscht _funktioniert_ ist doch weniger richtig unter dem Gesichtspunkt 'gültiges HTML' , als diese Konstruktion
Beispiel 2:
<table border="1">
<thead>
<th colspan="2">Die Menschheit besteht aus</th>
<th rowspan="2">Genies</th>
</thead>
<tr>
<td>Eseln</td>
<td>Affen</td>
</tr>
</table>
Ich meine th-Abschnit ist in einer tr-Section im Beispiel 1 untergebracht. Im Beispiel 2 ist dagegen th-Abschnitt in der thead-Section untergebracht.
Irgendwie nicht ganz logisch!?
gruss
itebob
Hi,
Zellen lassen sich nur innerhalb einer Table Section verbinden, also nur innerhalb des <thead>, des <tfoot> oder eines <tbody>. Sektionsübergreifende Verbindungen sind weder möglich noch sinnvoll. Ebenso wenig ist es möglich, eine Zelle per rowspan mit einer anderen Zelle zu verbinden, die per colspan mit einer weiteren Zelle verknüpft wurde.
Irgendwie nicht ganz logisch!?
Ja, es ist irgendwie nicht ganz logisch, Zellen aus verschiedenen Zeilengruppen miteinander verschmelzen zu wollen.
thead wird in guten Browsern beim Ausdruck auf jeder Seite, auf der sich Zeilen der Tabelle befinden, wiederholt.
Wie soll jetzt mit den Zellen aus den folgenden Zeilen (die Du ja per rowspan verknüpfen willst) verfahren werden?
Wiederholt werden dürfen sie nicht, denn sie sind ja im tbody, nicht im thead.
Aber der Inhalt der verschmolzenen Zelle, der sich im thead befindet, benötigt ja u.U. den Platz aus den per rowspan verknüpften Zellen.
Dieser zusätzliche Platz ist aber nicht mehr vorhanden.
cu,
Andreas
Hi,
Aber diese Syntax hier
ist identisch mit:
<table border="1">
<tbody>
<tr>
<th colspan="2">Die Menschheit besteht aus</th>
<th rowspan="2">Genies</th>
</tr>
<tr>
<td>Eseln</td>
<td>Affen</td>
</tr>
</tbody>
</table>
Und damit spielt sich alles innerhalb einer Table Section ab, nämlich innerhalb eines <tbody>.
wo es wie gewünscht _funktioniert_ ist doch weniger richtig unter dem Gesichtspunkt 'gültiges HTML' , als diese Konstruktion
Ja. Vom rowspan abgesehen, versteht sich ;-)
Irgendwie nicht ganz logisch!?
Ich finde es nicht logisch, warum Du einen Head mit einem Body verquicken willst. Entweder sind die _beiden_ ersten Zeilen Teil des <thead>, oder sie sind strikt getrennt.
Cheatah
Moin!
Ich meine th-Abschnit ist in einer tr-Section im Beispiel 1 untergebracht. Im Beispiel 2 ist dagegen th-Abschnitt in der thead-Section untergebracht.
Im zweiten Beispiel fehlen die <tr> um deine <th>. <thead> ist kein Ersatz für <tr>, sondern wird zusätzlich notiert.
- Sven Rautenberg
Moin!
Im zweiten Beispiel fehlen die <tr> um deine <th>. <thead> ist kein Ersatz für <tr>, sondern wird zusätzlich notiert.
das war mein Fehler. Ich habe bis jetzt die 'thead' und 'th' einfach dafür benutzt, um die Kopfzeilen fett darzustelln. Und dabei 'thead' als Ersatz für 'tr' betrachtet. Solange rowspan nicht benutzt wurde, hat es auch funktioniert.
Danke an alle !
Gustav Wall