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.
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)"
-
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> -
Ajouter 17 lignes, avec les heures 08h05, 09h00, 09h55, 10h10, 10h50, 11h05, 11h45, 12h00, 12h55, 13h10, 14h05, 14h30, 15h00, 15h10, 16h05, 17h00, 17h55
-
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;
} -
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;
} -
Ajouter des cellules pour les heures de cours avec les attributs
rowspanoucolspanpour fusionner plusieurs cellules si besoin.
Une solution
-
Dans votre répertoire "Documents" créez le répertoire
tp_edt -
Dans le répertoire
tp_edt, créez un nouveau fichierindex.htmlqui utilise le fichier CSSstyle.css.Dans le fichier
index.html:<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
</body>
</html>Dans le fichier
style.css:html {
font-size: 14px;
} -
Ajouter le titre "Emploi du temps - SIO1 (Semestre 1)"
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>
</body>
</html> -
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> -
Ajouter 17 lignes, avec les heures 08h05, 09h00, 09h55, 10h10, 10h50, 11h05, 11h45, 12h00, 12h55, 13h10, 14h05, 14h30, 15h00, 15h10, 16h05, 17h00, 17h55
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>
<tr>
<th class="time min55">08h05</th>
</tr>
<tr>
<th class="time min55">09h00</th>
</tr>
...
</table>
</body>
</html> -
Ajouter un nouveau style
.timequi remonte l'heure au niveau du haut de la ligne.Dans le fichier
style.css:.time {
vertical-align: top;
position: relative;
top: -13px;
font-weight: lighter;
text-align: right;
} -
Ajouter les styles
.min5,.min10etc... qui fixent la hauteur de la ligne, selon le nombre de minutesDans 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;
} -
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>
...