Vous êtes sur la page 1sur 26

Développement Web 1

3
Chapitre

Les tableaux

Enseignante : Mme MANSOURI L.


Tableau simple

En HTML, un tableau se construit ligne par ligne. Dans


chaque ligne (<tr>), on indique le contenu des
différentes cellules (<td>).

Définition du Table <TABLE></TABLE> Balise de type bloc qui


tableau indique le début et la fin
du tableau

Définition Table Row <TR></TR> Début et fin de ligne


d'une ligne
Définition Table Data <TD></TD> Début et fin de cellule
d'une cellule
Exemple : Un tableau à deux lignes et deux colonnes,
et donc à quatre cellules se représente comme suit :

<TABLE>
<TR>
<TD>cellule 1</TD>
<TD> cellule 2</TD>
</TR>
<TR>
<TD> cellule 3</TD>
<TD> cellule 4</TD>
</TR>
</TABLE>
bordure du tableau (css)

propriété description

Border-style Valeurs possibles: solid, double, dotted, dashed,


groove(en relief), ridge(effet 3d), inset (Effet 3D
mais le bloc est vu comme un creux), outset
(Effet 3D mais le bloc a l'air d'être surélevé)
Exemple :
table {border-style: dotted;}

border-width La taille de la bordure


Valeurs possibles : thin/ medium/ thick / valeur
en px

border-color La couleur de la bordure


bordure du tableau (css)

La propriété CSS border permet d’ajouter une


bordure au tableau.

Exemple :
td /* Toutes les cellules des tableaux... */
{
border: 1px solid black; /* auront une bordure de
1px */
}
bordure du tableau (css)

La propriété CSS border-collapse, permet de coller les


bordures entre elles.
Cette propriété peut prendre deux valeurs :
▪ collapse: les bordures seront collées entre elles.
▪ separate: les bordures seront dissociées (valeur par défaut)
Exemple :
table
{
border-collapse: collapse; /* Les bordures du tableau seront collées*/
}
td
{
border: 1px solid black;
}
Alignement vertical

La propriété vertical-align définit l'alignement vertical


d'une cellule de tableau.
Valeurs possibles :
• Top
• Middle
• Bottom
Exemple:
La ligne d'en-tête
La ligne d'en-tête se crée avec un<tr>comme on l'a fait
jusqu'ici, mais les cellules qu'elle contient sont, cette fois,
encadrées par des balises<th>et non pas<td>!
<table>
<tr>
<th>Nom</th> <th>prenom</th><th>Pays</th>
</tr>
<tr> <td>Mansouri</td> <td>Lamia</td><td>Tunisie</td>
</tr>
<tr>
<td>Latulippe</td><td>Gerard</td><td>Canada</td>
</tr>
<tr> <td>Kilani</td> <td>Amine</td> <td>Tunisie</td>
</tr>
</table> En css :
table
{ border-collapse: collapse; }
td,th
{ border: 1px solid black; }
Titre du tableau <caption>
Normalement, tout tableau doit avoir un titre. Le titre permet
de renseigner rapidement le visiteur sur le contenu du tableau.
<table>
<caption>Passagers du vol 377</caption>
<tr>
<th>Nom</th> <th>prenom</th><th>Pays</th>
</tr>
<tr> <td>Mansouri</td> <td>Lamia</td><td>Tunisie</td>
</tr>
<tr>
<td>Latulippe</td><td>Gerard</td><td>Canada</td>
</tr>
<tr> <td>Kilani</td> <td>Amine</td> <td>Tunisie</td>
</tr>
</table>
Titre du tableau <caption>
On peut changer la position du titre avec la propriété CSS
caption-side qui peut prendre deux valeurs :

 top: le titre sera placé au-dessus du tableau (par défaut) ;


 bottom: le titre sera placé en dessous du tableau.

En css :
Caption
{caption-side: bottom;}
table
{ border-collapse: collapse; }
td,th
{ border: 1px solid black; }
Tableau structuré

 Pour les gros tableaux, il est possible de les diviser en


trois parties :
◦ En-tête ;
◦ Corps du tableau ;
◦ Pied de tableau.

 Pour certains tableaux, il se peut que vous ayez besoin


de fusionner des cellules entre elles.
Diviser un gros tableau

Si le tableau est assez gros, on a intérêt à le découper en


plusieurs parties. Pour cela, il existe des balises HTML qui
permettent de définir les trois « zones » du tableau :

• l'en-tête (en haut) : il se définit avec les balises


<thead> </thead>
• le corps (au centre) : il se définit avec les balises
<tbody></tbody>;
• le pied du tableau (en bas) : il se définit avec les balises
<tfoot></tfoot>.
Exemple
<table>
<caption>Passagers du vol 377</caption>
<thead> <!-- En-tête du tableau -->
<tr> <th>Nom</th> <th>Age</th> <th>Pays</th> </tr>
</thead>

<tfoot> <!-- Pied du tableau -->


<tr> <th>Nom</th> <th>Age</th> <th>Pays</th> </tr>
</tfoot>

<tbody>
<tr> <td>Mansouri</td> <td>Lamia</td> <td>Tunisie</td> </tr>
<tr> <td>Latulippe</td> <td>Gerard</td> <td>Canada</td> </tr>
<tr> <td>Kilani</td> <td>Amine</td> <td>Tunisie</td> </tr>
<tr> <td>Mohamed</td> <td>salah</td> <td>Tunisie</td> </tr>
<tr> <td>Dupre</td> <td>jean</td> <td>France</td> </tr>
<tr> <td>Kilani</td> <td>Anas</td> <td>Tunisie</td> </tr>
<tr> <td>Jaafar</td> <td>Ahmed</td> <td>Tunisie</td> </tr>
</tbody>

</table>
Entête du tableau <Thead>

Corps du tableau <Tbody>

Pied du tableau <Tfoot>


Remarques

• Il est conseillé d'écrire les balises dans l'ordre suivant :


1. <thead>
2. <tfoot>
3. <tbody>

• Il n'est pas obligatoire d'utiliser ces trois balises


(<thead>,<tbody>,<tfoot>) dans tous les tableaux.
Exemple de regroupement de lignes

thead

tbody

tbody

tfoot
<table>
<thead> <tr> <th> Vitesse mesurée en km/h </th>
<th> Nombre de Véhicules </th>
<th> Sanction opérée</th>
</tr>
</thead>
<tfoot> <tr> <th> Vitesse mesurée en km/h </th>
<th> Nombre de Véhicules </th>
<th> Sanction opérée</th>
</tr>
</tfoot>
<tbody> <tr> <td> de 90 à 110 km/h </td>
<td> 325 </td>
<td> NON </td>
</tr>
<tr> <td> de 110 à 130 km/h </td>
<td> 564 </td>
<td> NON </td>
</tr>
<tr> <td> de 130 à 140 km/h </td>
<td> 323 </td>
<td> NON </td>
</tr>
</tbody>
<tbody >
<tr>
<td> de 140 à 160 km/h </td>
<td> 223 </td>
<td> Amende </td>
</tr>

<tr>
<td> de 160 à 190 km/h </td>
<td> 87 </td>
<td> Retrait </td>
</tr>
</tbody>
</table>
Exemple de regroupement de colonnes

Groupement de Groupement de 3 colonnes Groupement de 2 colonnes


1 colonne
<table>
<caption>
<h2>Facture de votre commande de livres</h2>
</caption>

<!-- Groupe 1 : Dates -->

<colgroup span="1" style="background-color:silver" >


</colgroup>
<!-- Groupe 2 : Titre et Auteur -->

<colgroup span="3 " style="background-color:beige" >


</colgroup>

<!-- Groupe 3: Quantité, Prix unitaire, Prix total -->

<colgroup span= " 2 " style="background-color:gold" >

</colgroup>
<!—En-tête et pied du tableau -->
<thead>
<tr>
<th>Date </th>
<th>Titre </th>
<th>Auteur</th>
<th>Quantité </th>
<th>Prix Unitaire </th>
<th>Prix Total </th>
</tr>
</thead>

<tfoot>
<tr>
<th>Date </th>
<th>Titre </th>
<th>Auteur</th>
<th>Quantité </th>
<th>Prix Unitaire </th>
<th>Prix Total </th>
</tr>

</tfoot>
<tbody>
<tr> <td>29/05/2018</td>
<td>XHTML Design</td>
<td>Jeffrey Zeldman</td>
<td>3</td>
<td>32.00 &euro;</td>
<td>96.00 &euro;</td>
</tr>
<tr> <td>15/06/2018</td>
<td>CSS 2 </td>
<td>Raphael Goetter</td>
<td>2</td>
<td>30.00 &euro;</td>
<td>60.00 &euro;</td>
</tr>
<tr> <td>10/09/2018</td>
<td>XHTML et CSS </td>
<td>Jean Engels</td>
<td>5</td>
<td>29.90 &euro;</td>
<td>149.50 &euro;</td>
</tr>
</tbody>
</table>
Fusion des cellules

Dans certains tableaux complexes, on a besoin de « fusionner »


des cellules entre elles.
Pour effectuer une fusion, on rajoute un attribut à la balise<td>.
Il faut savoir qu'il existe deux types de fusion :
 La fusion de colonnes : La fusion s'effectue
horizontalement.
On utilise l'attribut colspan.
 La fusion de lignes : là, deux lignes seront groupées entre
elles. La fusion s'effectuera verticalement.
On utilise l'attribut rowspan.
Fusion des cellules
 La fusion de colonnes
<table>
<tr>
<th>Titre du film</th>
<th>Pour enfants ?</th>
<th>Pour adolescents ?</th>
</tr>
<tr><td>Massacre à la tronçonneuse</td>
<td >Non, trop violent</td>
<td>Oui</td> </tr>
<tr> <td>Les bisounours font du ski</td>
<td>Oui, adapté</td>
<td>Pas assez violent...</td> </tr>
<tr> <td>Lucky Luke, seul contre tous</td>
<td colspan="2">Pour toute la famille !</td> </tr>
</table>
Fusion des cellules
 La fusion des lignes

<table >
<tr> <th>Titre du film</th>
<td>massacre à la tronçonneuse ?</td>
<td>les bisounours font du ski</td>
<td>Lucky luke, seul contre tous ?</td> </tr>
<tr><th>pour les enfants?</th>
<td >Non, trop violent</td>
<td>Oui,adapté</td>
<td rowspan=2>Pour toute la famille</td> </tr>
<tr> <th>pour adolescents?</th>
<td>Oui </td>
<td>Pas assez violent...</td> </tr>
</table>
Application
Créer le tableau suivant en respectant les styles observés

Vous aimerez peut-être aussi