Fiche CSS : Structuration automatique des pagesObjet de la ficheÉtat de la fiche
|
| Attributs | Commentaires |
|---|---|
| chaîne |
Un contenu de texte. On peut produire des retours à la ligne dans le contenu généré en
écrivant la séquence "\A" dans l'une des chaînes après la propriété
'content'. Ceci insère un retour à la ligne forcé, semblable à l'élément <br />
du HTML. La concaténation de chaînes de caractères pour la propriété content s'effectue en laissant un espace entre les commandes : ![]() |
| url |
URL qui pointe sur une ressource externe en général une image. Exemple de Syntaxe : p:before{content: url('web108.gif') " - Note 1 : "}. |
| compteur(1) | On peut spécifier des compteurs à l'aide de deux fonctions : 'counter()' ou 'counters()'. La première peut se présenter sous deux formes : 'counter(nom)' ou 'counter(nom, style)'. Le texte généré correspond à la valeur du compteur nommé à cet endroit de la structure de mise en forme, et son style, à celui indiqué (par défaut, c'est 'decimal'). La deuxième prend aussi deux formes : 'counters(nom, chaîne)' ou 'counters(nom, chaîne, style)'. Le texte généré correspond à la valeur de tous les compteurs, qui ont ce nom dans la structure de mise en forme. Les compteurs prennent le style indiqué (par défaut, 'decimal') par les styles disponibles pour la propriété 'list-style-type' (attribut de liste). |
| attr(X) (3) | Cette fonction retourne, sous forme de chaîne, la valeur de l'attribut X du sujet du sélecteur. Cette chaîne n'est pas parcourue par l'interpréteur CSS. Au cas ou le sujet du sélecteur n'a pas d'attribut X, il est retourné une chaîne vide. La sensibilité à la casse du nom des attributs dépend du langage du document. Remarque : En CSS2, il n'est pas possible de se référer aux valeurs d'attribut d'autres éléments du sélecteur. |
| quote(2) |
Cette propriété spécifie des guillemets, quel que soit le nombre de
citations imbriquées. Exemple quotes: "«" "»" "<" ">" "°" "°" La première paire (celle la plus à gauche) correspond au niveau de citation le plus extérieur, la deuxième paire, le premier niveau d'imbrication, etc. Le navigateur applique la paire de guillemets appropriée en fonction du niveau d'imbrication. Si la profondeur est supérieure au nombre de paires, la dernière paire est réutilisée. Une valeur de 'close-quote' qui rendrait la profondeur négative est incorrecte et ignorée : la profondeur reste à 0 et aucun guillemet n'est rendu (bien que le reste de la valeur de la propriété 'content' soit quand même inséré). |
| open-quote close-quote |
open-quote et close-quote Ces mot clé sont remplacées par les chaînes appropriées, celles-ci étant indiquées par la propriété 'quotes' et cela en fonction du niveau d'imbrication. |
| no-open-quote no-close-quote |
Rien n'est inséré (sinon la chaîne vide), mais le niveau d'imbrication des citations est incrémenté (ou décrémenté). |
| inherit | Hérite des attributs de son parent. |
Le numérotage automatique est régi par deux propriétés, 'counter-increment' et 'counter-reset'. Les compteurs définis par celles-ci sont employés par les fonctions counter() et counters() de la propriété 'content'. Ces propriétés sont utilisées pour structurer des entêtes de chapitres, sous chapitres, sections, affecter des numérotations automatiques sur des titres ou des listes.
Un élément qui n'est pas affiché (sa propriété 'display' ayant la valeur
'none'), ne peut ni incrémenter un compteur ni le remettre à zéro.
Dans cet exemple suivant, les éléments h2 ayant une classe "secret" n'incrémente pas 'count2'
h2.secret {counter-increment: count2; display: none}
Par contre, les éléments dont la valeur de la propriété 'visibility' est 'hidden',
incrémentent les compteurs.
Cet attribut associé à la propriété content permet d'afficher la valeur du compteur dont le nom est précisé en paramètre. La valeur est affichée suivant le style défini par le paramètre list-style-type (le même déjà vu dans le cadre des listes) pouvant prendre les valeurs suivantes:
liste décimale (par défaut)
liste alphabétique
liste à puce
none : aucun style.
Note : Si le paramètre list-style-type est omis l'affichage sera de type décimal.
Exemple de syntaxe : h1:before{countent:counter(section,upper-roman)} pour afficher en style upper-roman (I, II, III) le compteur section.
Cet attribut associé à la propriété content permet d'afficher une chaîne composée des valeurs de tous les compteurs de même nom, celles-ci séparées par une chaîne donnée. Les compteurs sont "auto-imbriquants", dans le sens ou la réutilisation d'un compteur dans un élément enfant crée automatiquement une nouvelle instance de celui-ci. Ceci est particulièrement adapté dans les cas de listes numérotés imbriquées dont un exemple est donné ci-dessous dans l'exemple3.
Exemple de syntaxe : li:before{content: counters(NomCompteur, ".",upper-alpha) }
Illustration du mécanisme avec une liste ordonnée

Cet attribut accepte un ou plusieurs noms de compteurs (des identificateurs), chacun d'eux étant suivi d'un entier optionnel. Cet entier indique la valeur de l'incrémentation du compteur à chaque fois que survient l'élément. L'incrémentation par défaut est d'une unité. Les entiers nuls ou négatifs sont admis.
Exemple de syntaxe : h2:before{counter-increment: section 2} pour incrémenter le compteur section de 2
Cette propriété contient une liste de noms de compteurs, un ou plusieurs, chacun d'eux étant suivi d'un entier optionnel. Cet entier indique la valeur que prend un compteur à chaque fois que survient l'élément. Par défaut, celui-ci a une valeur égale à 0.
Exemples de syntaxe :
"counter-reset: section 10" pour initialiser le compteur section à10.
"counter-reset: chapitre 5 section 10" pour initialiser le compteur chapitre à 5 et le compteur section à 10.

Remarque sur le code de l'exemple
Bien penser à faire un reset du compteur au niveau du body si l'on désire obtenir une indexation correcte.
Les listes en HTML, possèdent des éléments pouvant être imbriqués dans eux-mêmes à des profondeurs arbitraires. Si l'on appliquait la méthode de numérotation des chapitres/souschapitres/section telle que décrite ci-dessus il serait impossible de définir des noms de compteurs uniques pour chaque niveau d'imbrication.
Heureusement les compteurs sont "auto-imbriquants", dans le sens ou la réutilisation d'un compteur dans un élément enfant crée automatiquement une nouvelle instance de celui-ci.


La fonction 'counters()' génère une chaîne composée des valeurs de tous les compteurs de même nom, celles-ci séparées par une chaîne donnée.
En CSS2, les concepteurs de pages HTML peuvent demander au navigateur de représenter les marques de citation, en fonction du style et du contexte. La propriété 'quotes' spécifie des paires de guillemets pour chaque niveau d'imbrication des citations. C'est la propriété 'content' qui permet la mise en œuvre de ces marques, en les insérant avant ou après les citations.
Exemple de syntaxe : quotes: "«" "»" "<" ">" "°" "°"
ou encore avec des codes ISO hexadécimaux
quotes: "\00AB" "\00BB" "\2039" "\203A" "\2018" "\2019"
| Caractères | Code hexadécimal | Commentaires |
| " | 0022 | Double guillemet |
| ' | 0027 | Guillemet simple |
| < | 2039 | Chevron simple gauche |
| > | 203A | Chevron simple droit |
| « | 00AB | Chevron double gauche |
| » | 00BB | Chevron double droit |
| ‘ | 2018 | Apostrophe ouvrante |
| ’ | 2019 | Apostrophe fermante |
| “ | 201C | Guillemets anglais double gauche |
| ” | 201D | Guillemets anglais double droit |
| „ | 201E | Guillemets double bas |
Les valeurs 'open-quote' et 'close-quote' de la propriété 'content'
insèrent les guillemets aux endroits appropriés du document. L'une des
chaînes issues des valeurs de la propriété 'quotes' se substituent à
chaque survenue de 'open-quote', ou ' close-quote', selon le niveau
d'imbrication.
La valeur 'open-quote' se rapporte au premier guillemet d'une paire
donnée, celle de 'close-quote' au second guillemet. L'utilisation de telle
ou telle paire de guillemet dépend de la profondeur d'imbrication de la
citation.
Pour une profondeur égale à 0, la première paire est retenue, pour une
profondeur de 1, c'est la deuxième paire, etc. Si la profondeur est
supérieure au nombre de paires, la dernière paire est réutilisée. Une
valeur de 'close-quote' qui rendrait la profondeur négative est incorrecte
et ignorée : la profondeur reste à 0 et aucun guillemet n'est rendu (bien
que le reste de la valeur de la propriété 'content' soit quand même
inséré).
La profondeur de citation est indépendante de l'imbrication
du document source ou de la structure de mise en forme.
no-close-quote' décrémente le niveau de citation, sans pour autant faire apparaître de guillemet fermant. De façon symétrique, 'no-open-quote', ne fait pas apparaître de guillemet ouvrant, et incrémente la profondeur de citation d'une unité.
Exemple de citations sur deux niveaux (résultat sur un navigateur conforme aux standards).

Tout élément HTML possède ses propres attributs. En voici deux exemples pour fixer les idées:
<a href ="toto" title="Clicquez ici">MonLien</a> : la balise de lien <a> possède l' attribut href qui défini le lien, et l'attribut title qui définie l'information lors du survol de ce lien. MonLien n'est pas un attribut mais le texte qui s'affiche à l'écran pour le lien défini par l'attribut href.
<img src="MonImage" width="50" height="50" alt="Bonjour /> : la balise img possède l'attribut src qui défini l'emplacement de l'image, les attributs dimensionnels width et height, ainsi que l'attribut alt qui défini le texte de remplacement si l'image ne peut être chargée.
La fonction attr(x) permet de récupérer la valeur d'un des attributs d'un élément.
Cela peut servir par exemple dans les situations suivantes : lors de l'impression de pages Web, beaucoup de caractéristiques disparaissent et en particulier les attributs href qui définissent les liens. Lorsque l'on visualise la page Web à l'écran ce n'est gênant puisque il suffit de cliquer sur le nom donnée au lien pour accéder à un nouveau contenu, mais lors de l'impression on connaît bien le nom donné au lien mais on ne sait pas ou l'on va. Il serait donc très intéressant de pouvoir rajouter cette information. Avec la fonction attr(x) associée à la propriété content et aux pseudo éléments il va être possible de rendre visible sur le papier l'attribut href qui contient la cible du lien.
Exemple de récupération href d'une balise de lien (résultats sur un navigateur conforme aux standards).
Ce lien pointe vers l'adresse : toto) Lien1
Ce lien pointe vers l'adresse : titi) Lien2
Ce lien pointe vers l'adresse : tata) Lien3
L'exercice consiste à insérer automatiquement une image représentant une petite flèche sur chaque élément de la liste de choix de la page d'accueil.

Pour cela on utilisera la propriété de feuille de style css "content" (associé au pseudo-élément before) avec URL comme attribut pointant sur l'image Flèche.gif du répertoire Images/Site. Cette feuille de style sera incluse dans le fichier commun CSSExterneScreen.css pour la balise HTML dd (éléments de la liste).