itebob: Zellen in einer Zeile spaltenweise verbinden

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

  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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

      1. 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

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      2. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      3. 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

        1. 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