lettura facile

Il tag <TH> in Html

In questa lezione ti spiego cos'è e a cosa serve il tag <th> del linguaggio HTML.

<th> </th>

Il tag <th> definisce una cella di intestazione di una colonna o di una riga all'interno della tabella del documento HTML.

Puoi inserire l'intestazione tra il tag di apertura <th> e quello di chiusura </th>.

Perché usare il tag TH? La sigla <th> significa "table header". I browser applicano di default uno stile più evidente ai tag <th> rispetto a quello usato per il tag <td>. Ad esempio, visualizzano in grassetto il contenuto tra i tag <th>. Anche i browser vocali usano un'intonazione più marcata. Questo rende più rapida e più facile la comprensione delle informazioni presenti nella tabella da parte degli utenti e anche l'interpretazione dei dati da parte dei motori di ricerca.

Il tag <th> va usato all'interno del tag <tr> che definisce una riga della tabella ( l tag <table> ).

Ti faccio un esempio pratico.

Crea una tabella composta da tre righe e due colonne.

<table>
<tr>
<th>Nome</th>
<th>Cognome</th>
</tr>
<tr>
<td>Paolo</td>
<td>Rossi</td>
</tr>
<tr>
<td>Giuseppe</td>
<td>Verdi</td>
</tr>
</table>

La tabella è così composta

  • La tabella è compresa tra i tag <table> e </table>.
  • Ogni riga della tabella è compresa tra i tag <tr> e </tr>.
  • La prima riga ha due celle di intestazione tra i tag <th> e </th> che indicano l'informazione contenuta nelle rispettive colonne della tabella.
  • Le seconda e la terza riga hanno delle celle definite tra i tag <td> e </td> in cui sono visualizzati i dati.

Grazie alla presenza del tag <th> il browser visualizza la tabella mettendo in evidenza le celle di intestazione delle colonne.

Nome Cognome
Paolo Rossi
Giuseppe Verdi

Qual è la differenza tra le celle di intestazione e le celle dei dati? Le celle di intestazione forniscono un'informazione di contesto utile all'utente che li aiuta a interpretare correttamente i dati sulla relativa colonna o riga della tabella. Al contrario, le celle di dati contengono i dati veri e propri e non devono essere contrassegnate come intestazioni.

In generale, puoi utilizzare il tag <th> solo nella sezione <body> del documento HTML.

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. ...
  5. </head>
  6. <body>
  7. <table>
  8. <tr> <th> 1 </th> <th> 2 </th> <th> 3 </th> </tr>
  9. <tr> <td> 4 </td> <td> 5 </td> <td> 6 </td> </tr>
  10. <tr> <td> 7 </td> <td> 8 </td> <td> 9 </td> </tr>
  11. </table>
  12. </body>
  13. </html>

Nota. Quest'ultimo è solo un esempio pratico di una tabella con le intestazioni sulla prima riga. In realtà, non occorre che tutte le celle di una riga siano tutte composte da tag <th> o che sia necessariamente la prima riga della tabella.

Per specificare se la cella di intestazione del tag <th> si riferisce a una riga oppure a una colonna della tabella, puoi utilizzare l'attributo scope.

L'attributo "scope" può assumere questi valori:

  • "row" se l'intestazione si riferisce all'intera riga
  • "col" se l'intestazione si riferisce all'intera colonna
  • "rowgroup" se l'intestazione si riferisce a un gruppo di righe
  • "colgroup" se l'intestazione si riferisce a un gruppo di colonne

In questo modo puoi specificare se l'intestazione si riferisce a una singola cella, a una colonna o a una riga.

Questo è molto importante perché consente ai motori di ricerca e ai browser di interpretare correttamente i dati.

<table>
<tr>
<th scope="col">Nome</th>
<th scope="col">Cognome</th>
</tr>
<tr>
<td>Paolo</td>
<td>Rossi</td>
</tr>
<tr>
<td>Giuseppe</td>
<td>Verdi</td>
</tr>
</table>

In questo caso l'attributo scope="col" specifica che le intestazioni sono riferite al gruppo di celle che si trovano nella stessa colonna dell'intestazione.

Perché usare l'attributo scope? In quest'ultimo esempio grazie all'attributo scope i motori di ricerca associano i dati sulla prima colonna all'intestazione "nome" e quelli della seconda colonna all'intestazione "cognome". Inoltre, l'attributo scope migliora anche l'accessibilità e l'usabilità della tabella perché i browser vocali utilizzati dalle persone con disabilità visive leggono ogni cella di dati della colonna anteponendo l'intestazione. Ad esempio, leggono "nome Paolo", "cognome Rossi", e via dicendo. Sono informazioni di contesto molto utili agli utenti che utilizzano screen reader o altre tecnologie assistive.

Altri attributi del tag <th>

Il tag <th> ha anche altri attributi in HTML.

  • colspan
    L'attributo "colspan" unisce più celle in una sola cella.

    <table>
    <tr>
    <th colspan="2">Header 1 e 2 combinati in una sola cella</th>
    </tr>
    <tr>
    <td>Contenuto 3</td>
    <td>Contenuto 4</td>
    </tr>
    </table>

    In questo modo ottieni una tabella con un'unica cella nella prima riga. La seconda riga della tabella continua ad avere due celle separate.

    Header 1 e 2 combinati in una sola cella
    Contenuto 3 Contenuto 4
  • rowspan
    L'attributo "rowspan" unisce più celle in un'unica riga.

    <table>
    <tr>
    <th>Header 1</th>
    <th>Header 2</th>
    <th rowspan="2">Header 3 e 4 combinati in una sola cella</th>
    </tr>
    <tr>
    <td>Contenuto 5</td>
    <td>Contenuto 6</td>
    </tr>
    <tr>
    <td>Contenuto 7</td>
    <td>Contenuto 8</td>
    <td>Contenuto 9</td>
    </tr>
    </table>

    In questo modo ottieni una cella più grande che occupa più righe della tabella.

    Header 1 Header 2 Header 3 e 4 combinati in una sola cella
    Contenuto 5 Contenuto 6
    Contenuto 7 Contenuto 8 Contenuto 9
  • align
    Effettua un allineamento orizzontale del contenuto della cella a sinistra, a destra o al centro.

    <th align="left">Contenuto</th>

  • valign
    Effettua un allineamento orizzontale del contenuto della cella in alto, al centro o in basso.

    <th valign="top">Contenuto</th>2

  • width
    Imposta la larghezza della cella di intestazione
  • height
    Imposta l'altezza della cella di intestazione.
  • abbr
    Indica al browser di abbreviare il contenuto della cella di intestazione se lo spazio è insufficiente. Nei browser vocali l'attributo "abbr" indica al browser di non ripetere per intero l'intestazione in ogni dato bensì in una forma abbreviata.

    Ad esempio, se l'intestazione <th> è "titolo di studio" e il dato <td> è "diploma", il browser vocale legge soltanto "titolo: diploma" anziché "titolo di studio: diploma".

  • bgcolor
    definisce il colore di sfondo della cella di intestazione.
  • color
    definisce il colore del testo della cella di intestazione.
  • char
    Specifica il carattere di riempimento da utilizzare per allineare il testo.
  • charoff
    Specifica il rientro del carattere di riempimento rispetto ai bordi della cella.
  • scope
    Indica al browser se l'intestazione si riferisce a un gruppo di celle in colonna o in riga.
  • nowrap
    Indica al browser di non adattare il testo alle dimensioni della cella di intestazione.
  • style
    Ti consente di applicare uno stile CSS alla cella di intestazione.

Molti attributi Html del tag <th> sono obsoleti anche se ancora funzionanti nei browser moderni. Ad esempio, align e valign sono obsoleti perché puoi ottenere lo stesso risultato utilizzando le proprietà di uno stile CSS.

Le proprietà CSS del tag <th>

I fogli di stile CSS ti permettono di personalizzare il colore dello sfondo o del testo, la dimensione e il tipo di carattere, l'altezza e la larghezza di ogni cella di intestazione.

Ad esempio, per impostare la larghezza della cella di intestazione puoi usare la proprietà width del CSS.

<th style="width: 100px;">Contenuto</th>

Per allineare in orizzontale il contenuto all'interno della cella, puoi utilizzare la proprietà text-align.

<th style="text-align: left;">Contenuto</th>

Per impostare il bordo della cella di intestazione puoi utilizzare la proprietà CSS border.

<th style="border: 1px solid black;">Contenuto</th>

Volendo puoi anche indicare più proprietà in un unico attributo stile, separando le proprietà tra loro tramite un punto e virgola.

 

<th style="text-align: center; vertical-align: top;"> ... </th>

E molto altro ancora. Questi sono solo alcuni esempi di cosa puoi ottenere usando le proprietà CSS sul tag <th>.

Nota. L'attributo "style" è utile se vuoi personalizzare lo stile di una singola cella di intestazione. Se invece vuoi applicare lo stesso stile a tutte le celle di intestazione, ti consiglio di definire lo stile del tag <th> tramite una classe in un file CSS esterno al documento Html. Ad esempio

th {
width: 50%;
background-color: #f0f0f0;
color: #333;
border: 1px solid #ccc;
text-align: center;
vertical-aligNotan: middle;
padding: 10px;
}

In questo modo ottieni un documento HTML più pulito e meno pesante. Inoltre, questo ti permette di modificare il design associato al tag <th> più facilmente in futuro, perché con una sola operazione puoi cambiare lo stile in tutte le pagine del sito web.




Non hai risolto il tuo problema? Scrivi una domanda




FacebookTwitterLinkedinLinkedin