Aller au contenu

Balise HTML <th>

La balise &lt;th&gt; spécifie une cellule d'en-tête dans un tableau HTML. Elle doit être utilisée comme élément enfant de <tr>, qui, à son tour, est placé à l'intérieur de la balise <table>. Pour définir une cellule de données standard, la balise <td> est utilisée.

La balise &lt;th&gt; peut contenir du texte, des images, des formulaires, des liens ou tout autre élément HTML pouvant être utilisé dans le corps d'un document HTML. La taille du tableau est automatiquement ajustée en fonction de la taille de son contenu.

Dans les tableaux HTML, les données sont disposées verticalement en colonnes. Si vous souhaitez afficher la première ligne du tableau comme étiquettes ou titres, vous devez utiliser des éléments &lt;th&gt; au lieu des éléments &lt;td&gt; pour cette ligne. Par défaut, le contenu de la balise &lt;th&gt; est en gras et centré. Pour modifier son apparence, vous pouvez utiliser des styles CSS. Les en-têtes de tableau peuvent également être facilement stylisés indépendamment du reste du contenu du tableau.

Notez que toutes les lignes d'un tableau doivent avoir le même nombre de cellules. Si une ligne possède moins de cellules, le navigateur rend implicitement les cellules manquantes. Ces cellules implicites héritent des styles de bordure du tableau. Si vous devez indiquer que d'autres cellules ne contiennent aucune donnée, créez des cellules vides si nécessaire. Si des cellules implicites apparaissent consécutivement, elles peuvent être rendues comme une seule cellule fusionnée.

Syntaxe

La balise &lt;th&gt; s'utilise par paires. Le contenu est écrit entre les balises d'ouverture (&lt;th&gt;) et de fermeture (&lt;&#8203;/th&gt;).

Balise HTML &lt;th&gt;

html
<table> 
  <tr> 
    <th>...</th> 
  </tr> 
</table>

Exemple de la balise HTML &lt;th&gt; :

Mois et Date — Exemple de la balise HTML &lt;th&gt; — W3Docs

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      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>June</td>
        <td>18.07.2018</td>
      </tr>
    </table>
  </body>
</html>

Résultat

th example

Dans cet exemple, nos en-têtes sont « Mois » et « Date », que nous définissons à l'aide des balises &lt;th&gt;. Nous plaçons les deux balises à l'intérieur d'un élément &lt;tr&gt;.

L'attribut colspan est généralement utilisé avec la balise &lt;th&gt; pour permettre au contenu de s'étendre sur plusieurs colonnes. Voyons cela en action.

Exemple de la balise HTML &lt;th&gt; avec l'attribut colspan :

Exemple avec un attribut colspan — Balise HTML &lt;th&gt; — W3Docs

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      tr {
        background-color: #1c87c9;
        color: #ffffff;
      }
      th,
      td {
        padding: 10px;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th colspan="2">Month and Date</th>
      </tr>
      <tr>
        <td>Jun</td>
        <td>18.07.2014</td>
      </tr>
    </table>
  </body>
</html>

Dans cet exemple, la valeur de l'attribut colspan est « 2 ». Cela signifie qu'une cellule d'en-tête doit s'étendre sur deux colonnes.

Attributs

Remarque : Les attributs tels que align, bgcolor, valign, width, height, et d'autres sont dépréciés en HTML5. Utilisez CSS pour le style à la place.

AttributValeurDescription
abbrtextDéfinit une version abrégée du contenu d'une cellule d'en-tête, ou un texte alternatif. Certains agents utilisateur, comme les lecteurs d'écran, peuvent afficher cette description avant le contenu lui-même.
alignleft right centerAligne le contenu d'une cellule d'en-tête. Non pris en charge en HTML 5.
axiscategory_nameCatégorise les cellules ayant un contenu similaire. Non pris en charge en HTML 5.
backgroundbackgroundDéfinit l'arrière-plan d'une cellule. Non pris en charge en HTML 5.
bgcolorrgb(x,x,x) #xxxxxx colornameDéfinit la couleur d'arrière-plan d'une cellule. Non pris en charge en HTML 5.
bordercolorbordercolorDéfinit la couleur d'une bordure. Non pris en charge en HTML 5.
charcharacterAligne le contenu d'une cellule d'en-tête sur un caractère. Il est utilisé uniquement si l'attribut est align="char". Non pris en charge en HTML 5.
charoffnumberDéfinit le nombre de caractères dont le contenu sera aligné par rapport au caractère spécifié par l'attribut char. Utilisé uniquement si l'attribut align="char". Non pris en charge en HTML 5.
colspannumberDéfinit le nombre de colonnes qu'une cellule doit couvrir. La valeur de l'attribut doit être un entier positif. La valeur par défaut est 1.
headersheader_idSpécifie une liste séparée par des espaces de cellules d'en-tête contenant des informations sur cette cellule. La valeur doit correspondre à l'id de la cellule d'en-tête (défini à l'aide de l'attribut id).
height% pixelsDéfinit la hauteur d'une cellule. Non pris en charge en HTML 5.
nowrapnowrapSpécifie que le contenu à l'intérieur d'une cellule ne doit pas revenir à la ligne. Non pris en charge en HTML 5.
rowspannumberSpécifie le nombre de lignes qu'une cellule doit couvrir. La valeur de l'attribut doit être un entier positif. La valeur par défaut est 1. Il n'est pas recommandé d'utiliser des valeurs supérieures à 65534, car elles seront réduites à 65534.
scopecol colgroup row rowgroup autoDéfinit les cellules auxquelles l'élément d'en-tête (défini dans &lt;th&gt;) se rapporte. Essentiel pour l'accessibilité des tableaux.
sortedreversed number reversed number number reversedDéfinit le sens de tri d'une colonne. Non pris en charge en HTML 5.
valigntop middle bottom baselineSpécifie l'alignement vertical du contenu à l'intérieur d'une cellule. Non pris en charge en HTML 5.
width% pixelsDéfinit la largeur d'une cellule. Non pris en charge en HTML 5.

La balise &lt;th&gt; prend également en charge les Attributs globaux et les Attributs d'événement.

Comment styliser une balise HTML &lt;th&gt;

css
th {
  background-color: #f2f2f2;
  color: #333;
  padding: 8px;
  border: 1px solid #ccc;
}

Pratique

Quel est l'objectif de la balise HTML <th> ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.