W3docs

Tag HTML <td>

Il tag <td> definisce una cella dati standard in una tabella HTML. Deve essere usato come elemento figlio di <tr>, che definisce una riga nella tabella.

Il tag <td> specifica una cella dati standard in una tabella HTML. Deve essere usato come elemento figlio di <tr>, che definisce una riga nella tabella. Per definire una cella di intestazione si usa il tag <th>.

Il tag <td> può contenere testo, moduli, immagini, tabelle ecc. Il contenuto al suo interno è allineato a sinistra per impostazione predefinita.

Suggerimento

Se si presentano dati tabulari nelle tabelle, ogni cella dati deve essere aggiunta singolarmente come elemento <td>.

Tutte le righe nella tabella contengono un numero uguale di celle, equivalente al numero di celle nella riga più lunga. Se ci sono meno celle in una riga, il browser riempirà automaticamente la riga inserendo celle vuote alla fine.

Suggerimento

Le tabelle più avanzate possono contenere gli elementi <caption>, <colgroup>, <col>, <tfoot>, <tbody> o <thead>.

Se è necessario evidenziare che non ci sono dati in altre celle, creare una cella senza contenuto dove necessario.

Le celle aggiunte dal browser non hanno bordi e, se si trovano una dopo l'altra, verranno visualizzate come un'unica cella integrata.

Sintassi

Il tag <td> viene usato in coppia. Il contenuto è scritto tra i tag di apertura (<td>) e di chiusura (</td>).

Tag HTML <td>

<table> 
  <tr> 
    <td>...</td> 
  </tr> 
</table>

Esempio del tag HTML <td>:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      tr {
        background-color: lightgrey;
      }
      tr:first-child {
        background-color: #1c87c9;
        color: #fff;
      }
      th,
      td {
        padding: 10px;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th>Month</th>
        <th>Date</th>
      </tr>
      <tr>
        <td>March</td>
        <td>10.09.2018</td>
      </tr>
      <tr>
        <td>June</td>
        <td>18.07.2018</td>
      </tr>
    </table>
  </body>
</html>

In questo esempio usiamo il tag <tr> per definire le righe della tabella, <th> per definire le celle di intestazione e <td> per definire le celle dati standard.

Estensione su colonne e righe

Gli attributi colspan e rowspan sono comunemente usati con il tag <td> per consentire a una singola cella di estendersi su più colonne o righe.

  • colspan imposta il numero di colonne occupate da una cella. Il valore deve essere un numero intero positivo; il valore predefinito è 1. Una cella con colspan="2" occupa lo spazio orizzontale di due celle normali, quindi la riga a cui appartiene dovrebbe contenere un <td> in meno rispetto alle altre righe.
  • rowspan imposta il numero di righe occupate da una cella. Il valore deve essere un numero intero positivo; il valore predefinito è 1. Una cella con rowspan="2" si estende nella riga successiva, quindi quella riga successiva dovrebbe omettere il <td> che si troverebbe sotto di essa.

Fare attenzione a non creare un'estensione più grande di quanto la tabella consenta. Se un colspan o rowspan supera il bordo della tabella, i browser lo limitano alle colonne o righe disponibili anziché aggiungerne di nuove. Al contrario, se si dimentica di rimuovere le celle che un'estensione sovrappone, la riga finisce con troppe celle e il layout della tabella si rompe.

Esempio del tag HTML <td> con l'attributo colspan:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      tr {
        background-color: #e6ebef;
      }
      tr:first-child {
        background-color: #1c87c9;
        color: #fff;
      }
      tr:last-child {
        height: 60px;
      }
      tr:last-child td {
        background-color: #a3cced;
        vertical-align: bottom;
      }
      tr:last-child span {
        font-size: 14px;
      }
      th,
      td {
        padding: 10px;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th>Company e-mail</th>
        <th>Date</th>
      </tr>
      <tr>
        <td>
          <a href="#">[email protected]</a>
        </td>
        <td>01.09.2017</td>
      </tr>
      <tr>
        <td colspan="2">[email protected];
          <strong>01.09.2017 </strong>
          <span>(received date)</span>
        </td>
      </tr>
    </table>
  </body>
</html>

Risultato

esempio td 1

Esempio del tag HTML <td> con l'attributo rowspan:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      th, td {
        padding: 10px;
        border: 1px solid #666;
      }
      thead tr {
        background-color: #1c87c9;
        color: #fff;
      }
      tbody td {
        background-color: #e6ebef;
      }
      .year {
        background-color: #a3cced;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <table>
      <thead>
        <tr>
          <th>Month</th>
          <th>Year</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>March</td>
          <td class="year" rowspan="2">2014</td>
        </tr>
        <tr>
          <td>April</td>
        </tr>
      </tbody>
    </table>
  </body>
</html>

Associare le celle alle intestazioni per l'accessibilità

In una tabella semplice, i lettori di schermo possono abbinare automaticamente ogni cella dati alla sua intestazione di colonna e di riga. In una tabella complessa — con più livelli di intestazioni o con celle estese — questa associazione automatica si interrompe. Per mantenere tali tabelle leggibili dalla tecnologia assistiva, assegnare a ogni <th> un id, quindi elencare gli id pertinenti nell'attributo headers di ogni <td> correlato. Una cella può fare riferimento a più intestazioni separando i loro id con spazi.

Esempio del tag HTML <td> con l'attributo headers:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        border-collapse: collapse;
        margin: 30px auto;
      }
      th, td {
        padding: 10px;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th id="name">Name</th>
        <th id="hours">Hours</th>
        <th id="rate">Rate</th>
      </tr>
      <tr>
        <td headers="name">Ann</td>
        <td headers="hours">38</td>
        <td headers="rate">$25</td>
      </tr>
      <tr>
        <td headers="name">Bob</td>
        <td headers="hours">40</td>
        <td headers="rate">$30</td>
      </tr>
    </table>
  </body>
</html>

Qui ogni cella dati fa riferimento all'intestazione che la descrive, in modo che un lettore di schermo possa annunciare, ad esempio, "Rate: $25" invece di solo "$25".

Problemi di layout con <td>

Per impostazione predefinita, ogni cella dati si allinea verticalmente con le celle nella stessa colonna delle altre righe. Aggiungere un <td> extra a una sola riga altera quell'allineamento, poiché ogni cella successiva in quella riga si sposta di una colonna.

Ad esempio, questa riga ha tre celle mentre il resto della tabella ne ha due, quindi le sue celle non si allineano più sotto le intestazioni:

<tr>
  <th>Month</th>
  <th>Total</th>
</tr>
<tr>
  <td>March</td>
  <td>Q1</td>
  <td>120</td>
</tr>

La soluzione è unire le celle con colspan invece di aggiungere una colonna extra. Qui la cella "March" si estende su entrambe le colonne sopra i totali, mantenendo la griglia allineata:

<tr>
  <th>Month</th>
  <th>Total</th>
</tr>
<tr>
  <td colspan="2">March (Q1)</td>
</tr>
<tr>
  <td>April</td>
  <td>120</td>
</tr>

Attributi

AttributoValoreDescrizione
abbrtextDefinisce una versione abbreviata del contenuto in una cella, o un testo alternativo. (Gli user-agent, come i lettori vocali, possono presentare questa descrizione prima del contenuto stesso). Non supportato in HTML 5.
alignleft right center justify charAllinea il contenuto in una cella. Non supportato in HTML 5.
axiscategory_nameCategorizza le celle con contenuto simile. Non supportato in HTML 5.
backgroundbackgroundImposta lo sfondo in una cella. Non supportato in HTML 5.
bgcolorrgb(x,x,x) #xxxxxx colornameDefinisce il colore di sfondo di una cella. Non supportato in HTML 5.
bordercolorbordercolorImposta il colore del bordo. Non supportato in HTML 5.
charcharacterAllinea il contenuto in una cella a un carattere. Viene usato solo se l'attributo align="char". Non supportato in HTML 5.
charoffnumberImposta il numero di caratteri dal quale il contenuto sarà allineato rispetto al carattere specificato dall'attributo char. Viene usato solo se l'attributo align="char". Non supportato in HTML 5.
colspannumberDefinisce il numero di colonne su cui una cella deve estendersi. Il valore dell'attributo deve essere un numero intero positivo. Il valore predefinito è 1.
headersheader_idSpecifica una o più celle di intestazione (definite dal tag <th>) a cui una cella standard è correlata.
height% pixelsImposta l'altezza di una cella. Non supportato in HTML 5.
nowrapnowrapSpecifica che il contenuto all'interno di una cella non deve andare a capo. Non supportato in HTML 5.
rowspannumberSpecifica il numero di righe su cui una cella deve estendersi. Il valore dell'attributo deve essere un numero intero positivo. Il valore predefinito è 1. Non è consigliato usare valori superiori a 65534, poiché verranno ridotti a 65534.
valigntop middle bottom baselineSpecifica l'allineamento verticale del contenuto all'interno di una cella. Non supportato in HTML 5. Usare invece la proprietà CSS vertical-align.
width% pixelsImposta la larghezza di una cella. Non supportato in HTML 5.

Il tag <td> supporta gli Attributi Globali e gli Attributi Evento.

Informazione

L'attributo scope non è valido su <td>; appartiene all'elemento <th>, dove dichiara se un'intestazione si applica a una colonna o a una riga. Usare headers su un <td> per fare riferimento alle sue celle di intestazione.

Come applicare stili a un tag HTML <td>

Gli stili più comuni per <td> controllano spaziatura, bordi e allineamento. Selezionare td insieme a th in modo che le celle di intestazione e quelle dati abbiano un aspetto coerente:

table {
  border-collapse: collapse;
}
td {
  padding: 10px;
  border: 1px solid #666;
  text-align: left;
  vertical-align: middle;
}
td:hover {
  background-color: #f1f7fb;
}

Tag correlati

  • <table> — il contenitore che raccoglie tutte le righe e le celle.
  • <tr> — definisce una riga di tabella; ogni <td> deve trovarsi all'interno di una.
  • <th> — definisce una cella di intestazione, abbinata a <td> tramite l'attributo headers.

Esercitazione

Pratica
Quale affermazione sugli attributi del tag HTML td è corretta?
Quale affermazione sugli attributi del tag HTML td è corretta?
Was this page helpful?