--- title: ' : l''élément de ligne d''un tableau' slug: Web/HTML/Element/tr tags: - Element - HTML - Reference - Tableaux - Web translation_of: Web/HTML/Element/tr ---
{{HTMLRef}}

L'élément HTML <tr> définit une ligne de cellules dans un tableau. Une ligne peut être constituée d'éléments {{HTMLElement("td")}} (les données des cellules) et {{HTMLElement("th")}} (les cellules d'en-têtes).

{{EmbedInteractiveExample("pages/tabbed/tr.html","tabbed-taller")}}

Si on veut qu'une cellule s'étende sur plusieurs lignes/colonnes, on pourra utiliser l'attribut {{htmlattrxref("colspan", "td")}} ou {{htmlattrxref("rowspan", "td")}} qui indiquent respectivement le nombre de colonnes / lignes sur lequel s'étendre (la valeur par défaut étant 1).

La construction de tableau peut parfois demander un peu de pratique. Au-delà des exemples présentés ci-après, vous pouvez consulter les tutoriels sur les tableaux HTML afin d'apprendre comment utiliser ces éléments et attributs HTML afin d'organiser vos données tabulaires.

Attributs

À l'instar de tous les éléments HTML, cet élément inclut les attributs universels.

Attributs dépréciés ou obsolètes

{{htmlattrdef("align")}}{{Obsolete_Inline("HTML5")}}
Cet attribut à valeurs définit l'alignement horizontal pour le contenu de chaque cellule. Les valeurs possibles sont :

Si cet attribut n'est pas renseigné, la valeur est héritée du nœud parent.

Notes : Cet attribut est devenu obsolète dans le dernier standard et ne doit donc plus être utilisé.
  • Pour réaliser les mêmes effets que les valeurs left, center, right ou justify, il faut utiliser la propriété CSS {{cssxref("text-align")}} sur l'élément
  • Pour réaliser le même effet qu'avec la valeur char. Il est possible, en CSS3, d'utiliser la valeur de l'attribut {{htmlattrxref("char", "tr")}} comme valeur de la propriété {{cssxref("text-align")}}. {{unimplemented_inline}}.
{{htmlattrdef("bgcolor")}} {{Obsolete_Inline("HTML5")}}
Cet attribut définit la couleur d'arrière-plan de toutes les cellules de la colonne. C'est un code à 6 chiffres hexadécimaux comme défini par le sRGB. Il est précédé d'un '#'. Un de ces seize mot-clé peut également être utilisé.
black = "#000000" green = "#008000"
silver = "#C0C0C0" lime = "#00FF00"
gray = "#808080" olive = "#808000"
white = "#FFFFFF" yellow = "#FFFF00"
maroon = "#800000" navy = "#000080"
red = "#FF0000" blue = "#0000FF"
purple = "#800080" teal = "#008080"
fuchsia = "#FF00FF"

aqua = "#00FFFF"

Note d'utilisation : Il est fortement conseillé de ne pas utiliser cet attribut car celui-ci n'est pas un attribut standard et n'a été implémentée que sous certaines versions d'Internet Explorer. L'élément {{HTMLElement("tr")}} doit être mis en forme grâce au CSS. Pour fournir un effet semblable à celui achevé par l'attribut bgcolor, il est possible d'utiliser la propriété CSS {{cssxref("background-color")}}.
{{htmlattrdef("char")}}{{Obsolete_Inline("HTML5")}}
Cet attribut est utilisé pour définir le caractère sur lequel aligner les cellules d'une colonne. Les valeurs de cet attribut contiennent généralement un point (.) pour aligner des nombres ou des valeurs monétaires. Si l'attribut {{htmlattrxref("align", "tr")}} ne vaut pas char, l'attribut est ignoré.
Note d'utilisation : Cet attribut est obsolète et il est donc fortement déconseillé de l'utiliser. De fait, il n'est pas supporté par le dernier standard. Pour réaliser le même effet qu'avec {{htmlattrxref("char", "tr")}}, il faut utiliser CSS3 en attribuant la même valeur à la propriété {{cssxref("text-align")}}.{{unimplemented_inline}}.
{{htmlattrdef("charoff")}} {{Obsolete_Inline("HTML5")}}
Cet attribut est utilisé pour indiquer le décalage, en nombre de caractères, depuis le caractère défini par l'attribut char à appliquer au contenu des cellules.
Note d'utilisation: Cet attribut ne doit plus être utilisé car il est maintenant obsolète et n'est plus supporté dans le dernier standard.
{{htmlattrdef("valign")}} {{Obsolete_Inline("HTML5")}}
Cet attribut définit l'alignement vertical du texte des cellules de la ligne. Les valeurs possibles de cet attribut sont :
Note: Cet attribut est obsolète dans le dernier standard, la propriété CSS {{cssxref("vertical-align")}} doit être utilisée à la place.

Exemples

Exemple simple

HTML

<table>
  <tr>
    <th>Prénom</th><th>Nom</th>
  </tr>
  <tr>
    <td>Jean</td> <td>Biche</td>
  </tr>
  <tr>
    <td>Marcel</td> <td>Patulacci</td>
  </tr>
</table>

Résultat

{{EmbedLiveSample("Exemple_simple","100%","200")}}

Note : Pour plus d'exemples, voir la page {{HTMLElement("table")}}.

Étendre sur plusieurs lignes ou colonnes

On utilise ici les attributs rowspan et colspan pour étendre des cellules sur plusieurs lignes et colonnes.

HTML

<table>
  <tr>
    <th rowspan="2">Nom</th>
    <th rowspan="2">ID</th>
    <th colspan="2">Dates</th>
    <th rowspan="2">Solde</th>
  </tr>
  <tr>
    <th>Inscription</th>
    <th>Résiliation</th>
  </tr>
  <tr>
    <th>Margaret Nguyen</td>
    <td>427311</td>
    <td><time datetime="2010-06-03">3 juin 2010</time></td>
    <td>n/a</td>
    <td>0</td>
  </tr>
  <tr>
    <th>Edvard Galinski</td>
    <td>533175</td>
    <td><time datetime="2011-01013">13 janvier 2011</time></td>
    <td><time datetime="2017-04008">8 avril 2017</time></td>
    <td>37</td>
  </tr>
  <tr>
    <th>Hoshi Nakamura</td>
    <td>601942</td>
    <td><time datetime="2012-07-23">23 juillet 2012</time></td>
    <td>n/a</td>
    <td>15</td>
  </tr>
</table>

CSS

table {
  border: 1px solid black;
}

th, td {
  border: 1px solid black;
}

Résultat

{{EmbedLiveSample("Étendre_sur_plusieurs_lignes_ou_colonnes")}}

Distinguer en-tête et contenu

On utilise ici l'élément {{HTMLElement("thead")}} et l'élément {{HTMLElement("tbody")}} pour distinguer l'en-tête du tableau et le contenu de celui-ci.

HTML

<table>
  <thead>
    <tr>
      <th rowspan="2">Nom</th>
      <th rowspan="2">Identifiant</th>
      <th colspan="2">Dates</th>
      <th rowspan="2">Solde</th>
    </tr>
    <tr>
      <th>Inscription</th>
      <th>Résiliation</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Margaret Nguyen</td>
      <td>427311</td>
      <td><time datetime="2010-06-03">3 juin 2010</time></td>
      <td>n/a</td>
      <td>0</td>
    </tr>
    <tr>
      <th scope="row">Edvard Galinski</td>
      <td>533175</td>
      <td><time datetime="2011-01013">13 janvier 2011</time></td>
      <td><time datetime="2017-04008">8 avril 2017</time></td>
      <td>37</td>
    </tr>
    <tr>
      <th scope="row">Hoshi Nakamura</td>
      <td>601942</td>
      <td><time datetime="2012-07-23">23 juillet 2012</time></td>
      <td>n/a</td>
      <td>15</td>
    </tr>
  </tbody>
</table>

CSS

table {
  border: 1px solid black;
}

th, td {
  border: 1px solid black;
}

Résultat

{{EmbedLiveSample("Distinguer_en-tête_et_contenu", 500, 150)}}

Mise en forme simple

Il est possible d'utiliser CSS afin de modifier l'apparence d'une ligne d'un tableau. Tous les styles appliqués à un élément <tr> auront un impact sur les cellules de cette ligne (sauf si celles-ci indiquent un style par dessus).

Modifions ici la police et la couleur d'arrière-plan pour la ligne d'en-tête.

HTML

<table>
  <thead>
    <tr>
      <th rowspan="2">Nom</th>
      <th rowspan="2">ID</th>
      <th colspan="2">Dates</th>
      <th rowspan="2">Solde</th>
    </tr>
    <tr>
      <th>Inscription</th>
      <th>Résiliation</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Margaret Nguyen</td>
      <td>427311</td>
      <td><time datetime="2010-06-03">3 juin 2010</time></td>
      <td>n/a</td>
      <td>0</td>
    </tr>
    <tr>
      <th scope="row">Edvard Galinski</td>
      <td>533175</td>
      <td><time datetime="2011-01013">13 janvier 2011</time></td>
      <td><time datetime="2017-04008">8 avril 2017</time></td>
      <td>37</td>
    </tr>
    <tr>
      <th scope="row">Hoshi Nakamura</td>
      <td>601942</td>
      <td><time datetime="2012-07-23">23 juillet 2012</time></td>
      <td>n/a</td>
      <td>15</td>
    </tr>
  </tbody>
</table>

CSS

table {
  border: 1px solid black;
  font: 16px "Open Sans", Helvetica, Arial, sans-serif;
}

thead > tr {
  background-color: rgb(228, 240, 245);
}

th, td {
  border: 1px solid black;
  padding:4px 6px;
}

On utilise ici la propriété {{CSSxRef("font")}} sur l'élément {{HTMLElement("table")}} afin d'avoir une police plus agréable. Ensuite, pour tous les éléments <tr> qui sont les fils de {{HTMLElement("thead")}} (c'est-à-dire pour les lignes de l'en-tête), on indique une couleur d'arrière-plan bleu clair. Cela se propagera à l'ensemble des cellules de l'en-tête.

Résultat

{{EmbedLiveSample("Mise_en_forme_simple", 500, 200)}}

Résumé technique

Catégories de contenu Aucune.
Contenu autorisé Zéro ou plusieurs éléments {{HTMLElement("td")}} ou {{HTMLElement("th")}}, éventuellement mélangés. Les éléments de script ({{HTMLElement("script")}} et {{HTMLElement("template")}}) sont également utilisés.
Omission de balises La balise de début est obligatoire. La balise de fin peut être absente si l'élément {{HTMLElement("tr")}} est immédiatement suivi par un élément {{HTMLElement("tr")}} ou si l'élément du groupe parent (({{HTMLElement("thead")}}, {{HTMLElement("tbody")}} ou {{HTMLElement("tfoot")}}) n'a plus d'autre contenu.
Parents autorisés Un élément {{HTMLElement("table")}} (uniquement si le tableau ne possède pas d'élément {{HTMLElement("body")}} et uniquement après un élément  {{HTMLElement("caption")}}, {{HTMLElement("colgroup")}} ou {{HTMLElement("thead")}}) , {{HTMLElement("thead")}}, {{HTMLElement("tbody")}} ou {{HTMLElement("tfoot")}}.
Rôles ARIA autorisés Tous les rôles sont autorisés.
Interface DOM {{domxref("HTMLTableRowElement")}}

Spécifications

Spécification État Commentaires
{{SpecName('HTML WHATWG','tables.html#the-tr-element','tr element')}} {{Spec2('HTML WHATWG')}}
{{SpecName('HTML5 W3C','tabular-data.html#the-tr-element','tr element')}} {{Spec2('HTML5 W3C')}}

Compatibilité des navigateurs

{{Compat("html.elements.tr")}}

Voir aussi