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-cell
table-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]
Se i dati sono tabulari, utilizzare le tabelle; se il contenuto della tabella è di presentazione, non utilizzare le tabelle. –
Quali browser devi supportare? –
Tutti i browser più recenti e futuri! Penso che sia obsoleto a partire da HTML5? –