2010-09-28 5 views
10

XHTML ha un 'opinione' riguardo l'uso di <thead>, <tfoot> e <tbody>?XHTML thead, tfoot e tbody important

Esiste un caso in cui dovrebbero essere utilizzati?

Grazie.

+0

Ogni volta che si dispone di un ''

si sta sempre ** ** utilizza almeno un '' . Un elemento '' è richiesto in ogni tabella, ma i tag di apertura e di chiusura sono facoltativi (possono essere dedotti dalla presenza di un ''). Questo sarà evidente se chiederai un '' per il suo '.parentNode' o un'
'per il suo' .childNodes' anche se lasci il '' fuori dal documento. – Gareth

+0

@Gareth - non nel vero XHTML. cioè quando è servito come application/xhtml + xml. – Alohci

risposta

6

THEAD, TBODY, ed elementi tfoot in HTML sono usati per le righe della tabella gruppo in sezioni logiche in base al loro contenuto . Ci sono due ragioni principali che ci si vuole fare questo:

  • per permettere al corpo di scorrere indipendentemente l'intestazione e/o piè di pagina
  • Per rendere più facile applicare regole di stile diversi per le sezioni diverse della tabella.

come indicato qui What is benefit of <thead>

Se si utilizza tabelle per fare della struttura allora non usare questi.Se stai visualizzando dati tabulari, usalo.

E se non si dispone di nulla da inserire in tfoot, non aggiungere questo.

troverete alcune buone risposte qui anche What is benefit of <thead>

+0

Grazie m-s-g. Quindi, se scrivo "

', il '' non verrà aggiunto automaticamente dal browser? Ad esempio, IE esegue questa operazione quando si ispeziona una tabella con lo Strumento per sviluppatori. – Francisc

+0

@Francisc: No, viene sempre aggiunto un 'implicito . – DisgruntledGoat

+0

Va bene, grazie. – Francisc

8

Ti permettono di aggiungere semantica alla tua tabella, e ti permettono anche di modellare la testa e il piede della tabella senza introdurre classi/id ridondanti.

non riesco a pensare a una situazione in cui si deve di usarlo, anche se so che alcuni plugin jQuery utilizzano il piede testa & per controllare i comportamenti.

Se i dati tabulari ha bisogno di intestazioni e righe di riepilogo, usarli, se non non

5

Le uniche regole, che io sappia, è che il thead (se utilizzato) deve essere definito prima e tfoot (se utilizzato) prima del il tbody (un po 'contro-intuitivo, a mio avviso, ma sono le regole).

Penso che lo scopo di thead sia parzialmente a scopo di stampa, consentendo alle colonne stampate su una seconda pagina di ripetere il numero thead, in modo che i dati abbiano più senso.

In teoria potrebbe anche consentire una scorrimento tbody nel caso di lunghi tavoli, con intestazioni fisse:

Questa divisione consente ai programmi utente di supportare lo scorrimento dei corpi tabella indipendentemente dalla testa tavolo e piede. Quando vengono stampate lunghe tabelle, le informazioni sulla testa e sul piede della tabella possono essere ripetute su ogni pagina che contiene i dati della tabella.

Fonte: http://www.w3.org/TR/html401/struct/tables.html#edef-TFOOT

Ciò, tuttavia, non funziona attualmente (senza l'utilizzo di almeno due tavoli, credo).

Il vantaggio maggiore, tuttavia, come note @Glenn Slaven, sembra essere semantico.

+1

L'idea di mettere '' prima di '' è in modo tale che le informazioni di riepilogo (piè di pagina) possano essere visualizzate mentre una grande tabella di dati sta ancora scaricando – Gareth

+0

@Gareth, sì. Ha senso * senso * farlo in quel modo, ma sembra solo, come ho detto, contro-intuitivo è tutto. =) –

+3

Si noti che è valido inserire il 'tfoot' prima o dopo il' tbody' s in (X) HTML5. Il ragionamento di Gareth è valido, ma come David, molte persone hanno trovato il modo HTML4 di farlo contro-intuitivo, quindi le regole erano rilassate. Non fa differenza per il modo in cui i browser funzionano, è solo un cambiamento di validità. – Alohci