Tout va bien, vous êtes sur Barbablog et tu kiffes jeune facebook Devenez fan RSS RSS Newsletter Newsletter Rechercher Rechercher

CSS et champs d’action

Le principe même des CSS, le C de Cascading, est très ingénieux. Seul souci : comment ne pas se perdre dans l’application en cascade de ses styles et ne pas se retrouver à chercher pendant 3 heures pourquoi ce putain de lien est en gras alors qu’il ne devrait pas.

Heureusement le W3C est là et propose une méthode infaillible pour déterminer la spécificité d’un style donné :

  1. count the number of ID attributes in the selector (= a)
  2. count the number of other attributes and pseudo-classes in the selector (= b)
  3. count the number of element names in the selector (= c)
  4. ignore pseudo-elements.

Concatenating the three numbers a-b-c (in a number system with a large base) gives the specificity.

Example(s):

*             {}  /* a=0 b=0 c=0 -> specificity =   0 */
LI            {}  /* a=0 b=0 c=1 -> specificity =   1 */
UL LI         {}  /* a=0 b=0 c=2 -> specificity =   2 */
UL OL+LI      {}  /* a=0 b=0 c=3 -> specificity =   3 */
H1 + *[REL=up]{}  /* a=0 b=1 c=1 -> specificity =  11 */
UL OL LI.red  {}  /* a=0 b=1 c=3 -> specificity =  13 */
LI.red.level  {}  /* a=0 b=2 c=1 -> specificity =  21 */
#x34y         {}  /* a=1 b=0 c=0 -> specificity = 100 */

Autres astuces :

  • évitez les styles inline p style="background:red; margin:30px"
  • évitez l’utilisation de la syntaxe !important
  • utilisez le moins de sélecteurs possibles : mieux vaut un p.intro tout court qu’un body #chapeau p.intro

Plus d’infos sur CSS et specificité dans mon del.icio.us, au tag specificity



Reagissez

Si ce billet vous a plu ou si vous voulez apporter des précisions, ou si vous n’êtes pas d’accord avec ce que je raconte, c’est ici qu’il faut vous manifester. Je me réserve toutefois le droit de supprimer toute contribution insultante ou qui n’aurait rien à voir avec la choucroute.

No comments...

Votre commentaire

Retour au contenu principal, Retour au contenu secondaire, Accéder à la recherche