Pour pouvoir résoudre notre problème, il faut savoir utiliser les compteurs.
C'est donc ce que nous allons apprendre.
On peut insérer des compteurs sur nos pages web.
Ceux-ci permettent de compter (logique ?) le nombre de balises identiques contenues dans notre page web.
Un compteur a besoins d'être :
- initialisé avant sa première utilisation ;
- incrémenté ;
- inséré sur la page web.
Initialiser son compteur
Un compteur porte un nom. Dans notre cas précis, on l'appellera "chapitre".
Avant utilisation, on doit
obligatoirement initialiser notre compteur. Pour ceci, nous utilisons la propriété
counter-reset
:
Code : CSS1
2
3 | body {
counter-reset: chapitre; /* Nous initialisons le compteur chapitre */
}
|
Le compteur a été initialisé sur la balise
<body>
.
C'est-à-dire que celui-ci est déclenché à partir de la balise
<body>
et commencera à compter après celle-ci.
Par défaut, le compteur est initialisé à 0 mais on peut changer ceci :
Code : CSS1
2 | body { counter-reset: section -1 } /* Nous initialisons le compteur section à -1 */
body { counter-reset: prout 99 } /* Nous initialisons le compteur prout à 99 */
|
Opera et Konqueror fonctionnent correctement sans que le compteur soit initialisé.
Mais ces deux navigateurs sont ainsi en contradiction avec la recommandation du w3c.
Sur Mozilla Firefox, un compteur doit être initialisé sur une balise.
Code : CSS1
2
3 | body:before {
counter-reset: chapitre;
}
|
Dans le cas suivant, le compteur n'est pas initialisé sur la balise
<body>
mais avant celle-ci.
Ceci ne fonctionnera donc pas correctement sur Mozilla Firefox.
Incrémenter un nombre
Un code sera plus compréhensible qu'un long discours :
Code : CSS1
2
3 | h1:before {
counter-increment: chapitre; /* Ajoute 1 au compteur chapitre */
}
|
La propriété
counter-increment
ajoute 1 au compteur par défaut.
On peut évidemment changer ceci :
Code : CSS1
2
3 | h1:before {
counter-increment: chapitre + 4; /* Ajoute 4 au compteur chapitre */
}
|
Mais l'utilité n'est pas visible du premier coup d'oeil.
Insertion du compteur
Le plus important maintenant : l'insertion de son compteur sur notre page web.
Pour ceci, on utilisera la propriété
content
:
Code : CSS1
2
3 | h1:before {
content: counter(chapitre) ".";
}
|
Vous ne devriez pas avoir de mal à comprendre ce code.
Counter()
sert à afficher un compteur avec
content
, c'est comme
url()
qui affiche une image.
Les guillemets doubles
"..."
permettent quant à elles de signaler qu'on affiche du texte normal. Dans notre cas, on affiche un point après le nombre pour faire cet effet :
1 . Vive le fromage
Cr n'est pas compliqué

...
Un petit résumé
Un petit résumé pour bien tout se remettre en mémoire ?
Code : CSS1
2
3
4
5
6
7 | body {
counter-reset: chapitre; /* Nous initialisons le compteur chapitre */
}
h1:before {
counter-increment: chapitre; /* Ajoute 1 au compteur chapitre */
content: counter(chapitre) "."; /* Affiche notre compteur */
}
|
Ce sera tout pour le fonctionnement d'un compteur.
Relisez cette partie plusieurs fois si vous en avez besoin.
Nous allons maintenant essayer de résoudre notre problème.