Les tableaux
Notions théoriques
Les tableaux HTML sont définis avec la balise <table>.
A l'intérieur de la balise <table> il suffit de placer les balises <tr>, <td> ou <th>:
- Chaque ligne est définie avec la balise
<tr>(table row). - Chaque cellule d'un tableau est définie avec la balise
<td>(table data). - Les en-têtes de tableau sont définis avec la balise
<th>(table header).
Parfois, vous voudrez peut-être fusionner des cellules horizontalement ou verticalement.
Pour cela, vous pouvez utiliser les attributs colspan et rowspan:
- L'attribut
rowspanpermet à une cellule de s'étendre sur plusieurs lignes. - L'attribut
colspanpermet à une cellule de s'étendre sur plusieurs colonnes.
<table border="1">
<tr>
<th></th>
<th>Lundi</th>
<th>Mardi</th>
<th>Mercredi</th>
<th>Jeudi</th>
<th>Vendredi</th>
</tr>
<tr>
<td rowspan="2">8h-10h</td>
<td>Mathématiques</td>
<td>Français</td>
<td>Anglais</td>
<td rowspan="2">Mathématiques</td>
<td>Histoire</td>
</tr>
<tr>
<td>Physique</td>
<td>Anglais</td>
<td>Français</td>
<td>Anglais</td>
</tr>
</table>
Dans cet exemple, la cellule "Mathématiques" s'étend sur deux lignes.
Utilisez <th> pour les en-tetes (gras, centre par defaut) et <td> pour les donnees — c'est important pour l'accessibilite des tableaux.
Quand vous utilisez rowspan ou colspan, supprimez les cellules correspondantes dans les lignes/colonnes suivantes — sinon le tableau sera decale.
Les balises à connaître
<table>: Crée un tableau.<tr>: Définit une ligne de tableau.<td>: Définit une cellule de tableau.<th>: Définit un en-tête de tableau.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Votre défi sera de créer un tableau pour afficher votre emploi du temps.
Utilisez un tableau pour placer les heures de cours.
-
Dans votre répertoire "Documents" créez le répertoire
tp_edt -
Dans le répertoire
tp_edt, créez les fichiersindex.htmletstyle.css. -
Ajouter le titre "Emploi du temps - SIO1 (Semestre 1)"
Utilisez un seul <h1> par page pour indiquer le sujet principal — les moteurs de recherche et les lecteurs d'ecran s'appuient dessus.
-
Ajouter un tableau, avec une 1ère ligne qui affiche les jours de la semaine
Dans le fichier
index.html:<!DOCTYPE html><html><head><meta charset="utf-8" /><title>Emploi du temps</title><link rel="stylesheet" href="style.css" /></head><body><h1>Emploi du temps - SIO1 (Semestre 1)</h1><table><tr><th></th><th>Lundi</th><th>Mardi</th><th>Mercredi</th><th>Jeudi</th><th>Vendredi</th></tr></table></body></html>
Utilisez <th> pour les en-tetes de colonnes et de lignes — cela ameliore la lisibilite et l'accessibilite du tableau.
- Ajouter 17 lignes, avec les heures 08h05, 09h00, 09h55, 10h10, 10h50, 11h05, 11h45, 12h00, 12h55, 13h10, 14h05, 14h30, 15h00, 15h10, 16h05, 17h00, 17h55
Vous pouvez combiner plusieurs classes CSS sur un element (class="time min55") pour appliquer plusieurs styles independants.
-
Ajouter un nouveau style
.timequi remonte l'heure au niveau du haut de la ligneDans le fichier
style.css:.time {vertical-align: top;position: relative;top: -13px;font-weight: lighter;text-align: right;}
vertical-align: top est particulierement utile dans les cellules de tableau pour aligner le contenu en haut plutot qu'au centre.
-
Ajouter les styles
.min5,.min10etc... qui fixent la hauteur de la ligne, selon le nombre de minutes.Dans le fichier
style.css:.min5 {height: 5px;}.min10 {height: 10px;}.min15 {height: 15px;}.min25 {height: 25px;}.min30 {height: 30px;}.min40 {height: 40px;}.min55 {height: 55px;}
Nommez vos classes CSS de facon semantique (min55 = 55 minutes) plutot que visuelle (hauteur-grande) — cela facilite la maintenance.
-
Ajouter des cellules pour les heures de cours avec les attributs
rowspanoucolspanpour fusionner plusieurs cellules si besoin.Dans le fichier
index.html:<td rowspan="2">AT. PROFESSIONNALIS. <br/>HOMMET G.</td><td>SUP.DISP.SERV.INF. <br/>BOUQUET L.</td><td rowspan="2">CYBER.SERV.INFORMAT. <br/>ROF P.</td>...
Une solution
Vous devez être connecté pour voir le contenu.