SELFHTML

Cascade - Application des feuilles de style aux documents

Page d'information: vue d'ensemble

vers le bas Sortes de feuilles de style
vers le bas Recherche de tous les éléments sélectionnés
vers le bas Ordre selon origine et priorité
vers le bas Spécificité des sélecteurs
vers le bas Tri selon l'odre d'apparition

 vers le bas 

CSS 1.0 Sortes de feuilles de style

Si un fichier HTML dépourvu de formatage HTML ou CSS est affiché par un navigateur, alors il le sera avec un formatage de base prédéfini. Un navigateur graphique affichera les titres, par exemple, en gras, avec une taille de de texte supérieure, et les fera suivre d'un nouveau paragraphe. Ceci nécessite une feuille de style pour le navigateur qui contient les informations de base concernant l'affichage des éléments. Le W3 a publié un Page en langue anglaise exemple de feuille de style pour HTML version 4.0.

Lorsque vous Autre page d'information incorporez des feuilles de style en HTML, alors vous compléterez ou écraserez la feuille de style du navigateur. Des feuilles de style définies par l'auteur sont nommées des feuilles de style d'auteur (bien évidemment).

En plus, le visiteur de vos pages a la possibilité d'incorporer ce qu'on appelle une feuille de style de visiteur, contenant des définitions supplémentaires sur comment afficher les éléments; elle fixera, par exemple, une taille de texte minimale ou bien une présentation utilisant des couleurs bien contrastées.

Dans toutes les sortes de feuilles de style - même dans une seule - il arrive que soient notées des indications contradictoires.

Exemple:

<ul id="menu">
   <li>Boutons d'une liste avec un <a class="xy" href="but.htm">lien</a></li>
</ul>
a:lien { propriete:valeur; }
.xy { propriete:valeur; }
#menu a.xy { propriete:valeur; }
li a { propriete:valeur; }
#menu li a { propriete:valeur; }

Explication:

Tous les sélecteurs nommés influencent, chacun séparément, l'élément a noté dans le code source HTML. En plus de cela, la feuille de style du navigateur contient déjà des déclarations pour les liens - généralement en bleu et soulignés dans les navigateurs graphiques. Il faut également tenir compte d'une éventuelle feuille de style du côté du visiteur.

Pour décider comment, finalement, les éléments doivent être affichés, les navigateurs suivent certaines règles qui sont décrites dans ce qui suit.

vers le hautvers le bas

Recherche de tous les éléments sélectionnés

Dans un premier temps on recherche si une propriété CSS a été définie pour un élément, valable pour le Autre page d'information type de média indiqué. Ceci concerne les feuilles de style du navigateur, de l'auteur ainsi que du visiteur. Si un seul sélecteur concerne un certain élément, les propriétés contenues dans celui-ci seront appliquées et on passe à l'élément suivant. Cependant, lorsque plusieurs feuilles de style donnent différentes indications, il s'agira de déterminer, dans un deuxième temps, leurs vers le bas origine et priorité.

vers le hautvers le bas

Ordre selon origine et priorité

Les définitions dans les feuilles de style incorporées de différentes origines seront classées selon l'ordre descendant en importance:

Feuille de style de visiteur avec mention !important
Feuille de style d'auteur avec mention !important
Feuille de style d'auteur
Feuille de style de visiteur
Feuille de style du navigateur

La base de l'affichage est la feuille de style du navigateur. Si, par contre, la feuille de style d'un visiteur contient des déclarations différentes, celles-ci écrasent la feuille de style du navigateur et définissent ainsi, en l'absence de propositions du côté de l'auteur, l'affichage d'une page. Si vous définissez des formatages dans la feuille de de style d'auteur, elles seront considérées comme plus importantes que la feuille de style du visiteur. Mais cela n'est pas valable pour des indications dans la feuille de style du visiteur fixées par la règle vers le bas !important présentée ci-dessous.

Lorsqu'un navigateur rencontre des déclarations différentes pour la même propriété, dans des feuilles de style de plusieurs origines, il sera tenu compte de celle de plus haute importance. Ensuite l'élément suivant sera traîté. Si, de plus, plusieurs sélecteurs dans des feuilles de style d'égale importance concernent l'élément à traîter, alors c'est la vers le bas spécificité des sélecteurs qui sera déterminée dans une prochaine étape.

La règle !important

Les déclarations munies de la mention !important écrasent des déclarations similaires sans cette mention. Le recours à cette méthode est possible autant dans les feuille de style d'auteur que dans celles de visiteur.

Exemple:

p { font-size:1em !important; }

Explication:

La chaîne de caractères "!important" suit la valeur, séparée d'elle par un espace vide.

Attention:

Dans les premières spécifications CSS, l'emploi de la règle !important dans les feuilles de style d'auteur primait la même règle employée dans les feuilles de style de visiteur. Cela a été corrigé avec CSS2, pour donner aux visiteurs la possibilité d'adapter l'affichage à leurs besoins. Il n'existe donc plus, du côté de l'auteur, la possibilité d'annuler des propriétés désirées par les visiteurs.

vers le hautvers le bas

CSS 2.1 Spécificité des sélecteurs

Les composants de tous les sélecteurs seront d'abord isolés, et ensuite ceux-ci seront subdivisés dans les catégories suivantes:

A obtient la valeur 1, si des déclarations CSS ont été données à l'élément directement par Autre page d'information attribut de style.
B correspond au nombre d'Autre page d'information attributs ID sélectionnés (#id)
C correspond au nombre d'autres attributs sélectionnés (par ex. Autre page d'information classes) et Autre page d'information pseudo-classes (.classe, :pseudoclasse)
D correspond au nombre de noms d'éléments sélectionnés (e) et de Autre page d'information pseudo-éléments (:pseudoelement)

Exemples:

Sélecteur A B C D
style="…" (HTML) 1 0 0 0
#menu a.xy 0 1 1 1
#menu li a 0 1 0 2
#menu a 0 1 0 1
#menu 0 1 0 0
ul li .xy 0 0 1 2
a:lien 0 0 1 1
a.xy 0 0 1 1
ul[id="menu"] 0 0 1 1
*.xy 0 0 1 0
li a 0 0 0 2
a:first-line 0 0 0 2
a 0 0 0 1

Explication:

Le tableau montre la catégorisation de tous les composants des sélecteurs mentionnés dans l'ordre décroissant de leur spécificité. D'abord tous les sélecteurs sont triés selon l'ordre décroissant de leur valeur citée dans la colonne A, ensuite d'après celui dans les colonnes B, C et enfin D. Une valeur de "1 0 0 0" est donc supérieure à "0 1 2 0" ou "0 0 1 2". Dans l'vers le haut exemple ci-dessus, c'est le sélecteur #menu a.xy qui atteint la spécificité la plus haute(0 1 1 1) et qui écrase par conséquent les déclarations précédentes. Les sélecteurs notés après, li a (0 0 0 2) et #menu li a (0 1 0 2) présentent une spécificité inférieure et seront, par conséquent, ignorés:

Sélecteur A B C D
a:lien 0 0 1 1
*.xy 0 0 1 0
#menu a.xy 0 1 1 1
li a 0 0 0 2
#menu li a 0 1 0 2

S'il n'existe, dans une feuille de style, qu'un seul sélecteur de spécificité maximale, alors la règle est appliquée et on continue avec l'élément suivant. Sinon c'est l'vers le bas ordre d'apparition qui décide.

Attention:

Il n'est pas tenu compte du sélecteur universel * ni des formatages HTML. Le calcul ne se fait pas selon le système décimal, "0 0 1 2" est donc plus spécifique que, par exemple, "0 0 0 42".

Indication:

CSS 2.1 est différent de CSS2 dans les points suivants:

Des Autre page d'information attributs de style notés directement dans le code HTML étaient encore de même valeur que les attributs ID dans CSS2, et augmentaient la valeur indiquée (maintenant) sous B, l'actuelle colonne A n'existait pas encore.
Des Autre page d'information pseudo-éléments (:first-line, :first-letter, :before et :after), maintenant additionés sous D, ne jouaient encore aucun rôle dans l'établissement de la spécificité.

vers le hautvers le bas

Tri selon l'odre d'apparition

S'il existe deux sélecteurs, ou plus, d'vers le haut origine et priorité ainsi que de vers le haut spécificité identiques, c'est l'ordre d'apparition qui décide - les sélecteurs notés après annullent les précédents. Les déclarations émanant de Autre page d'information feuilles de style importées sont prioritaires.

 vers le haut
page suivante Autre page d'information Unités de mesure, mentions de couleur et affectation de valeurs
page précédente Autre page d'information Formater directement des éléments HTML
 

© 2007 Redaktion SELFHTML / © 2007 Traduction Beate Niklewicz
Adresse électronique selfhtml@fr.selfhtml.org