Cours et tutoriaux Photoshop, Flash, Fireworks, Paintshop et sur le développement de sites Web XHTML, PHP, MySQL...

Cours de XHTML : Les tableaux

En XHTML les tableaux sont utilisés pour afficher des donnés.
Vous apprendrez dans ce cours à construire correctement ces tableaux.

1. Des tableaux pour classer les données...Icone remonter en haut de page

En XHTML les tableaux sont des éléments de type bloc composés de cellules disposées en lignes et en colonnes.
Les tableaux ont très souvent été utilisés pour structurer une page Web mais cette façon de faire alourdie énormément les pages et n'est pas conforme aux nouvelles normes du Web. Il convient donc de réserver l'utilisation des tableaux aux classements de données afin de garder une sémantique correcte.

Voici le plan que nous suivront au cours de ce chapitre :

L'utilisation des tableaux n'est pas très compliquée à comprendre mais elle nécessite tout de même un peu de pratique pour être correctement maitrisée, n'hésitez donc pas à tester tout ça !!

2. Structure de base d'un tableauIcone remonter en haut de page

Les tableaux, un peu comme les listes, sont composés de plusieurs balises.
La première permet de déclarer l'utilisation d'un tableau, c'est la balise <table>... </table>.
Comme nous l'avons noté plus haut un tableau est composé de lignes et de cellules :
  • la balise <tr>... </tr> permet de déclarer une ligne
  • la balise <td>... </td> permet de déclarer une cellule

Grâce à ces balises nous pouvons créer un tableau comme dans l'exemple suivant :
Code-source : XHTML
<table>
<tr> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <td>4</td> <td>5</td> <td>6</td> </tr>
<tr> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>


Vous pouvez ajouter à votre tableau autant de ligne que vous le souhaitez mais vous devez toujours déclarer le même nombre de cellules pour toutes les lignes !!

Si vous souhaitez afficher une cellule vide : utilisez le caractère d'espacement insécable :
Code-source : XHTML
<table>
<tr> <td> </td> <td>2</td> <td>3</td> </tr>
<tr> <td>4</td> <td> </td> <td>6</td> </tr>
<tr> <td>7</td> <td>8</td> <td> </td> </tr>
</table>

3. Titre d'un tableauIcone remonter en haut de page

Vous pouvez ajouter des titres à vos tableaux de façon très simple en utilisant la balise <caption>... </caption>

Cette dernière se place juste après la balise ouvrante <table> :
Code-source : XHTML
<table>
<caption> Titre </caption>
<tr> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <td>4</td> <td>5</td> <td>6</td> </tr>
<tr> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>

4. En-têtes d'un tableauIcone remonter en haut de page

Les en-têtes vont vous permettre de nommer les lignes et les colonnes de votre tableau.
Afin d'indiquer leur utilisation vous devez utiliser la balise <th>... </th> à la place d'une balise de cellule <td>... </td>

Un exemple sera plus parlant :
Code-source : XHTML
<table>
<caption> Titre </caption>
<tr> <th>col 1</th> <th>col 2</th> <th>col 3</th> </tr>
<tr> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <td>4</td> <td>5</td> <td>6</td> </tr>
<tr> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>


Ou encore, vous pouvez faire un mixe des 2 types d'en-tête :
Code-source : XHTML
<table>
<caption> Titre </caption>
<tr> <td> </td> <th>col 1</th> <th>col 2</th> <th>col 3</th> </tr>
<tr> <th>lign 1</th> <td>1</td> <td>2</td> <td>3</td> </tr>
<tr> <th>lign 2</th> <td>4</td> <td>5</td> <td>6</td> </tr>
<tr> <th>lign 3</th> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>

5. Fusion des cellules (en ligne)Icone remonter en haut de page

Comme vous l'avez constaté la construction des tableaux n'est pas bien compliquée à comprendre mais tout cela est assez rigide n'est-ce-pas ?
Avoir un nombre de cellules identique sur chaque ligne n'est pas forcément adapté à ce que vous souhaitez faire...

Heureusement XHTML permet de fusionner les cellules des tableaux.
Intéressons-nous pour le moment à la fusion de cellules appartenant à une même ligne.
Il faut pour cela utiliser l'attribut "colspan" de la balise <td>... </td>.
Cet attribut prend pour valeur le nombre de cellules à fusionner.
Voici un exemple :
Code-source : XHTML
<table>
<caption> Titre </caption>
<tr> <td> </td> <th>col 1</th> <th>col 2</th> <th>col 3</th> </tr>
<tr> <th>lign 1</th> <td colspan='2'>1</td> <td>3</td> </tr>
<tr> <th>lign 2</th> <td>4</td> <td>5</td> <td>6</td> </tr>
<tr> <th>lign 3</th> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>


Vous remarquerez que la cellule 2 (<td>2</td>) à complètement disparue suite à l'utilisation de l'attribut colspan.

6. Fusion des cellules (en colonnes)Icone remonter en haut de page

Comme nous venons de le voir il est possible de fusionner les cellules d'une ligne donc vous vous doutez bien qu'il est également possible d'agir de la même façon sur les cellules d'une colonne.

Il faut cette fois utiliser l'attribut "rowspan" de la balise <td>... </td>.
Tout comme l'attribut "colspan" celui-ci prend également pour valeur le nombre de cellules à fusionner.
Voici un exemple :
Code-source : XHTML
<table>
<caption> Titre </caption>
<tr> <td> </td> <th>col 1</th> <th>col 2</th> <th>col 3</th> </tr>
<tr> <th>lign 1</th> <td rowspan='2'>1</td> <td>2</td> <td>3</td> </tr>
<tr> <th>lign 2</th> <td>5</td> <td>6</td> </tr>
<tr> <th>lign 3</th> <td>7</td> <td>8</td> <td>9</td> </tr>
</table>


Vous remarquerez que cette fois c'est la cellule 4 (<td>4</td>) qui à complètement disparue suite à l'utilisation de l'attribut rowspan.


Utilisez FireFoxW3C XHTML 1.0W3C CSS 2.1