--- title: '
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).
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
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.
À l'instar de tous les éléments HTML, cet élément inclut les attributs universels.
left
: le contenu de la cellule est aligné à gauche de la cellulecenter
: le contenu de la cellule est centré horizontalementright
: le contenu de la cellule est aligné à droite de la cellulejustify
: insert des espaces dans le contenu textuel afin que le contenu de la cellule soit justifiéchar
: aligne le contenu textuel de la cellule selon un caractère spécial avec un décalage minimum défini par les attributs {{htmlattrxref("char", "tr")}} et {{htmlattrxref("charoff", "tr")}} {{unimplemented_inline(2212)}}.Si cet attribut n'est pas renseigné, la valeur est héritée du nœud parent.
left
, center
, right
ou justify
, il faut utiliser la propriété CSS {{cssxref("text-align")}} sur l'élémentchar
. 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}}.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" |
|
bgcolor
, il est possible d'utiliser la propriété CSS {{cssxref("background-color")}}.char
, l'attribut est ignoré.baseline
qui alignera le texte à la ligne la plus basse possible en utilisant la ligne de base des caractères. Si les caractères ont tous la même taille, cela aura le même effet que la valeur bottom
.bottom
qui placera le texte au plus bas de la cellulemiddle
qui centrera verticalement le texte dans la celluletop
qui placera le texte au plus haut de la cellule.<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>
{{EmbedLiveSample("Exemple_simple","100%","200")}}
Note : Pour plus d'exemples, voir la page {{HTMLElement("table")}}.
On utilise ici les attributs rowspan
et colspan
pour étendre des cellules sur plusieurs lignes et colonnes.
<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>
table { border: 1px solid black; } th, td { border: 1px solid black; }
{{EmbedLiveSample("Étendre_sur_plusieurs_lignes_ou_colonnes")}}
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.
<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>
table { border: 1px solid black; } th, td { border: 1px solid black; }
{{EmbedLiveSample("Distinguer_en-tête_et_contenu", 500, 150)}}
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.
<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>
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.
{{EmbedLiveSample("Mise_en_forme_simple", 500, 200)}}
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é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')}} |
{{Compat("html.elements.tr")}}
<tr>
: