Domanda

Fa una riga di tavolo (<tr>) devono essere in un corpo da tavolo (<tbody>), se la tabella ha un corpo da tavolo o può esistere al di fuori del corpo del tavolo?

<table>
    <tr>
      <td colspan='2'>...</td>
    </tr>

    <tbody>
      <tr>
        <td>...</td>
        <td>...</td>
      </tr>
    </tbody>

    <tr>
      <td colspan='2'>...</td>
    </tr>

    <tbody>
      <tr>
        <td>...</td>
        <td>...</td>
      </tr>
    </tbody>

</table>
È stato utile?

Soluzione

No, il <tr> può essere in <thead>, <tbody>, <tfoot> Oppure non deve essere in nessuno di essi.

Altri suggerimenti

Contrariamente a quello che ha detto Terrill Thomson, un tavolo con <tr> tag al di fuori del <thead>, <tfoot> e <tbody> tag ma all'interno del <table> I tag saranno validati contro il Servizio di convalida del markup W3C.

Questo documento è stato verificato con successo come transitorio HTML 4.01:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
  <head>
  </head>
  <body>
    <table>
      <thead>
        <th colspan="2">head1</th>
        <th>head2</th>
      </thead>
      <tfoot>
        <th colspan="2">foot1</th>
        <th>foot2</th>
      </tfoot>

      <tr><td colspan="3">this row is outside of thead and tfoot</td></tr>

      <tbody>
        <tr>
          <td>1-1</td>
          <td>1-2</td>
          <td>1-3</td>
        </tr>
        <tr>
          <td>2-1</td>
          <td>2-2</td>
          <td>3-3</td>
        </tr>
        <tr>
          <td>3-1</td>
          <td>3-2</td>
          <td>3-3</td>
        </tr>
      </tbody>
  </body>
</html>

<tbody> è usato per contrassegnare il corpo del tuo <table>, se la tua tabella contiene <thead> (intestazione della tabella) o <tfoot> (piè di pagina del tavolo) Elementi. Se il tuo tavolo non contiene quegli elementi, sei libero di non usare <tbody>.

L'uso corretto sarebbe:

<table>
<thead><tr><th>Item          </th><th>Cost </th></tr></thead>
<tbody><tr><td>Stack Overflow</td><td>Free </td></tr>
       <tr><td>Something cool</td><td>$1.00</td></tr></tbody>
</table>

Specifiche HTML4 alle tabelle

Se hai un <tr> fuori da a <tbody>, la pagina non convaliderà:http://validator.w3.org

Come altri hanno notato, <tbody> è facoltativo a meno che tu non stia usando <thead> o <tfoot>. Il motivo principale per utilizzare gli ultimi due elementi è quindi l'intestazione e il piè di pagina vengono ripetuti su ogni pagina se viene stampata una tabella lunga.

Sembra che potresti creare qualcosa di simile a un calendario, in cui vuoi avere file alternate <th> (EG, per le date) e <td> (ad es. Per gli eventi in quella data). In tal caso, non dovresti avvolgere le righe alternate <thead> e <tbody> - farlo confonderebbe il diavolo dai browser quando si trattava di stampare la pagina. Se lasci fuori gli elementi di raggruppamento, la tabella convaliderà. Tuttavia, alcuni lettori di screen potrebbero essere confusi da quel markup e applicare la fila più alta di intestazioni a tutte le celle sotto di loro. Per una tabella complessa come questa, dovrai aggiungere un markup aggiuntivo per garantire che i lettori dello schermo capiscano come è organizzata la tabella. Ecco il tuo tavolo con markup accessibile:

<table summary="A brief description of how the table is organized, for screen reader users">
  <tr>
    <th colspan='2' id="header1">...</th>
  </tr>
  <tr>
    <td headers="header1">...</td>
    <td headers="header1">...</td>
  </tr>
  <tr>
    <th colspan='2' id="header2">...</th>
  </tr>
  <tr>
    <td headers="header2">...</td>
    <td headers="header2">...</td>
  </tr>
</table> 

In alternativa, potresti voler valutare se i dati possono essere organizzati in più tabelle o se è possibile fornire una versione alternativa che sarebbe più facile da usare per gli utenti dei lettori dello screen. Ad esempio, un calendario degli eventi potrebbe anche essere presentato come un elenco di eventi.

u003Ctbody>è facoltativo, quindi la risposta è "Sìu003Ctr> può essere fuori " - vedi http://www.w3.org/tr/html4/struct/tables.html#h-11.2.3 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top