Viennamade: Tabellenfuß weglassen?

Hallo liebe Forumsteilnehmer!

Es geht um eine 4.01-strict-Seite, drauf ist eine Tabelle, deren Kopf, Fuß und Körper ausgezeichnet ist. Ich mag den Tabellenfuß aber nicht drauf haben, zumindest soll er nicht sichtbar sein. Darf man den <tfoot>-Bereich weglassen?

Im Selfhtml steht: "Bevor Sie einen oder mehrere Tabellenkörper-Elemente notieren, _müssen_ Sie hinter dem Tabellenkopf den Tabellenfuß notieren." http://www.selfhtml.net/html/tabellen/aufbau.htm#kopf_koerper_fuss Also ja!

Auf w3c steht: "_When_ present, each THEAD, TFOOT, and TBODY contains a row group." Sagt nicht unbedingt was aus zur Sache, aber eher: Nicht unbedingt :-)

Aber auf w3c steht auch: "TFOOT _must_ appear before TBODY within a TABLE definition so that user agents can render" Also ja!
http://www.w3.org/TR/html401/struct/tables.html#edef-TFOOT

Weiß von Euch jemand, ob man tfoot weglassen darf (der w3c-Validator mäckert nicht drüber), oder gibt's eine Möglichkeit ihn unsichtbar zu machen (ohne Javascript). Mit style="line-height:0px;padding:0px;margin:0px;" für tfoot und die darin befindlichen tr und td läßt er sich im Opera nicht wegbekommen - trotz Vermeidung von Whitespace.

Beste Grüße & Danke
Viennamade

  1. Hi,

    Im Selfhtml steht: "Bevor Sie einen oder mehrere Tabellenkörper-Elemente notieren, _müssen_ Sie hinter dem Tabellenkopf den Tabellenfuß notieren." http://www.selfhtml.net/html/tabellen/aufbau.htm#kopf_koerper_fuss Also ja!

    Das ist eine der Stellen, an denen Selfhtml falsch ist.
    Diesen Fehler hab ich schon vor langer Zeit gemeldet...

    Auf w3c steht: "_When_ present, each THEAD, TFOOT, and TBODY contains a row group." Sagt nicht unbedingt was aus zur Sache, aber eher: Nicht unbedingt :-)

    Richtig, der Satz sagt nichts zur Sache.

    Aber auf w3c steht auch: "TFOOT _must_ appear before TBODY within a TABLE definition so that user agents can render" Also ja!
    http://www.w3.org/TR/html401/struct/tables.html#edef-TFOOT

    Nein. Das sagt nur aus, daß TFOOT (falls existent) vor TBODY vorkommen muß.
    Aber der folgende Text (den Du nicht zitiert hast):
    The following summarizes which tags are required and which may be omitted:

    * The TBODY start tag is always required except when the table contains only one table body and no table head or foot sections. The TBODY end tag may always be safely omitted.
        * The start tags for THEAD and TFOOT are required when the table head and foot sections are present respectively, but the corresponding end tags may always be safely omitted.

    sagt doch eindeutig, "when the table head and foot sections are present" - also falls vorhanden. Daraus ergibt sich: muß nicht vorhanden sein.
    Das sagt auch die DTD:
    Die relevante Stelle ist die Definition des table-Elements:
    <!ELEMENT TABLE - -
         (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>

    Im Table-Element kann es also geben
    eine oder keine caption
    beliebig viele col oder colgroup
    ein oder kein thead
    ein oder kein tfoot
    mindestens ein tbody

    (die tags von tbody sind optional - dadurch sieht es in vielen Fällen so aus, als wären tr direkt in table - in HTML sind sie aber im nichtsichtbaren tbody - bei XHTML ist das contentmodel etwas anders)

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
  2. Hallo,

    Die richtige Antwort mit sauberer Begruendung (DTD) hast
    Du ja schon von MudGuard gekriegt:
    TFOOT ist optional.

    Im Selfhtml steht: "Bevor Sie einen oder mehrere Tabellenkörper-Elemente notieren, _müssen_ Sie hinter dem Tabellenkopf den Tabellenfuß notieren." http://www.selfhtml.net/html/tabellen/aufbau.htm#kopf_koerper_fuss

    Und etwas weiter unten steht noch so eine falsche Behauptung:

    "Wenn Sie mit den Elementen thead, tfoot und tbody arbeiten,
       müssen Sie immer alle drei Elemente verwenden, und zwar
       immer in der Reihenfolge thead->tfoot->tbody."

    Auch diesen Fehler habe ich IIRC vor Monaten mal gemeldet...

    Es ist durchaus valide, nur THEAD und TBODY zu haben.

    mfg
    Thomas

    1. Hallo Andreas & Thomas!

      Es ist durchaus valide, nur THEAD und TBODY zu haben.

      Bin ich froh, daß ich keine Tabelle bin!

      Danke, insbesondere für die Ausführung wie DTDs zu lesen sind!

      Beste Grüße
      Viennamade