2013-07-06 15 views
24

Devo visualizzare il post e i relativi dati nella griglia delle colonne e certamente richiedono una tabella per quelli come allineare i div in linea singola usando i float è una cosa che richiede tempo!È utile usare le tabelle in HTML 5?

Apprezzeranno le tue recensioni su Do's e Do not for Tables in HTML5!

+7

Se i dati sono tabulari, utilizzare le tabelle; se il contenuto della tabella è di presentazione, non utilizzare le tabelle. –

+0

Quali browser devi supportare? –

+0

Tutti i browser più recenti e futuri! Penso che sia obsoleto a partire da HTML5? –

risposta

33

semplice regola - Utilizzare le tabelle per i dati tabulari, utilizzare altri elementi per la presentazione (la progettazione di layout con CSS) come div, section, aside, nav ecc. che fornisce un senso al contenuto tengono piuttosto che utilizzare table per tutto

Il fatto è che gli sviluppatori utilizzino le tabelle a 90s per ddrafting loro layout, ma ora, nuova specifica CSS3 è incredibile, ti dà così tanto attesa sulla progettazione layout come Flex di sicurezza, column-count, comportamento del modello di dialogo possono essere modificati utilizzando box-sizing proprietà, disegni sensibili sono sempre meglio utilizzare @media query, griglie, ecc .. che non si può ottenere con table elemento ... e, di conseguenza, è table utilizzato solo per la memorizzazione di dati tabulari.

Ho visto molti sviluppatori hanno l'impressione che table dovrebbe essere completamente ignorato, e invece usano un sacco di div con 100 linee di CSS, applicando display: table;table-celltable-row proprietà solo per ottenere un unico tavolo subito.

Quindi, anche in HTML5 è completamente OK se si utilizzano tabelle per dati tabulari ..


From W3 Org : (v4.01)

Le tabelle non vanno utilizzati unicamente come un mezzo per il layout contenuto del documento in quanto potrebbe presentare problemi durante il rendering su supporto non visivo . Inoltre, se utilizzate con la grafica, queste tabelle potrebbero costringere gli utenti a scorrere orizzontalmente per visualizzare una tabella progettata su un sistema con uno schermo più grande. Per minimizzare questi problemi, gli autori dovrebbero utilizzare style sheets per controllare il layout anziché le tabelle.


From (HTML 5)

Le tabelle non dovrebbero essere utilizzati come sussidi di layout. Storicamente, molti autori di Web hanno tabelle in HTML come un modo per controllare il loro layout di pagina rendendo difficile estrarre dati tabulari da tali documenti. Nello specifico , gli utenti degli strumenti di accessibilità, come gli screen reader, sono che probabilmente troveranno molto difficile navigare tra le pagine con le tabelle utilizzate per il layout . Se una tabella deve essere utilizzata per il layout, deve essere contrassegnata con l'attributo role="presentation" per un agente utente correttamente rappresentare la tabella su una tecnologia assistiva e per trasmettere correttamente l'intento dell'autore agli strumenti che desiderano estrarre dati tabulari dal documento.

Ci sono una varietà di alternative all'utilizzo di tabelle HTML per il layout, principalmente utilizzando il posizionamento CSS e il modello di tabella CSS. [CSS]

+0

le tabelle saranno supportate in futuro? –

+2

@Cruze Ovviamente saranno supportati in futuro. Le tabelle sono una parte importante dell'HTML. – str

5

Secondo le specifiche, <table> rappresenta dati con più di una dimensione e "non devono essere utilizzate come aiuti di layout."

Se è necessario visualizzare dati tabulari con più di una dimensione, è consigliabile utilizzare una tabella. Se hai solo bisogno di colonne, non farlo. Esistono molti framework CSS come il bootstrap che può semplificare gli stili necessari per creare una griglia.

+4

È uno dei punti in cui le versioni WHATWG e W3C della specifica si contraddicono a vicenda. La specifica WHATWG, sì, totalmente [vieta] (http://www.whatwg.org/specs/web-apps/current-work/multipage/tabular-data.html#the-table-element) usando le tabelle per il layout e chiama questa pratica "non conforme". D'altra parte, [la versione W3C] (http://www.w3.org/html/wg/drafts/html/CR/tabular-data.html#the-table-element) suggerisce solo che le "Tabelle" dovrebbero non * può essere usato come aiuto per il layout 'e chiarisce che' Se una tabella deve essere utilizzata per il layout, deve essere contrassegnata con l'attributo 'role =" presentation "' '. –