208
Maîtrise des CSS
de.la.règle..De.la.même.manière,.s’il.ne.comprend.pas.une.propriété.ou.une.valeur.particulières,.il.ignore.l’ensemble.de.la.déclaration..C’est.grâce.à.ce.fonctionnement.que.l’ajout.de.
nouveaux.sélecteurs,.de.nouvelles.propriétés.et.de.nouvelles.valeurs.peut.rester.sans.danger.
pour.les.navigateurs.plus.anciens.
Vous. pouvez. vous. appuyer. sur. ce. principe. de. fonctionnement. pour. fournir. des. règles. et.
des.déclarations.aux.navigateurs.plus.avancés.tout.en.sachant.que.les.anciens.navigateurs.
se.contenteront.de.les.ignorer..Lorsqu’une.nouvelle.version.d’un.navigateur.est.lancée.et.
prend.en.charge.les.règles.CSS.que.vous.utilisiez.comme.filtre,.tout.doit.fonctionner.comme.
prévu..Si.vous.utilisez.les.CSS.plus.avancées.pour.résoudre.un.problème.dans.les.navigateurs.plus.anciens,.vous.pouvez.espérer.que.ce.problème.aura.été.réparé.dans.les.versions.
plus.récentes..Avec.ce.système,.le.recours.aux.CSS.non.prises.en.charge.comme.mécanisme.
de.filtre.se.présente.donc.comme.une.option.relativement.sécurisée..On.est.forcé.d’ajouter.
"relativement",.car.il.existe.toujours.une.possibilité.que.le.navigateur.prenne.en.charge.le.
nouveau.code.CSS.mais.continue.de.produire.le.bogue.qu’on.croyait.ainsi.résolu.
Le.recours.aux.filtres.qui.se.fondent.sur.des.bogues.d’interprétation.est.un.peu.plus.dangereux,.parce.que.vous.vous.appuyez.alors.sur.un.bogue.et.non.sur.une.fonctionnalité..Comme.
pour.la.précédente.méthode,.si.le.bogue.d’interprétation.est.réparé.mais.que.celui.que.vous.
essayez.de.corriger.ne.l’est.pas,.vous.aurez.un.problème..Mais.il.y.a.pire,.car.certains.bogues.
d’interprétation.peuvent.surgir.dans.des.versions.plus.récentes.de.navigateurs..Ainsi,.supposons.qu’une.nouvelle.version.de.Firefox.inclue.un.bogue.d’interprétation.particulier..Si.
celui-ci.est.utilisé.comme.filtre.pour.livrer.à.Internet.Explorer.d’autres.valeurs.de.largeur.
à. prendre. en. compte. pour. son. modèle. de. boîte. propriétaire,. Firefox. héritera. soudain. des.
mêmes. largeurs. et. pourra. commencer. à. mal. afficher. de. nombreux. sites.. Il. faut. aussi. se.
souvenir.que.ces.types.de.hacks.et.de.filtres.invalident.souvent.le.code..En.règle.générale,.
il.est.donc.plus.sûr.d’utiliser.des.filtres.qui.s’appuient.sur.des.propriétés.CSS.non.prises.en.
charge.que.sur.celles.qui.utilisent.des.bogues.de.navigateurs..Mieux.encore :.tâchez.de.les.
éviter.toutes.
Utiliser les hacks et les filtres avec raison
Malheureusement,. les. développeurs,. notamment. ceux. qui. découvraient. les. CSS,. se. sont.
excessivement. appuyés. sur. les. hacks. et. les. filtres.. Quand. quelque. chose. ne. fonctionnait.
pas.dans.un.navigateur.particulier,.ils.ont.souvent.eu.le.réflexe.d’utiliser.immédiatement.un.
hack,.comme.un.coup.de.baguette.magique..Certains.s’imaginent.même.pouvoir.mesurer.
leur.niveau.d’expertise.au.nombre.de.hacks.et.de.filtres.obscurs.qu’ils.connaissent.
Si.vous.avez.bien.travaillé.et.que.vous.réalisiez.que.la.seule.option.qui.vous.reste.est.d’employer.un.hack.ou.un.filtre,.vous.devez.le.faire.de.manière.raisonnable.et.contrôlée..Si.vos.
fichiers.CSS.sont.petits.et.simples.et.que.vous.deviez.employer.un.ou.deux.hacks,.il.n’y.a.
probablement.pas.de.risque.à.les.placer.dans.vos.fichiers.CSS.principaux,.en.les.accompagnant. de. commentaires. appropriés.. Cependant,. les. hacks. sont. assez. souvent. compliqués.
et.peuvent.rendre.le.code.difficile.à.lire..Si.vos.fichiers.CSS.sont.longs.et.compliqués.ou.
si.vous.devez.utiliser.beaucoup.de.hacks,.il.peut.être.préférable.de.les.séparer.dans.leurs.
propres.feuilles.de.styles..Le.fait.de.séparer.les.hacks.non.seulement.rend.le.code.plus.facile.
à. lire. mais. signifie. également. que. si. un. hack. commence. à. poser. des. problèmes. dans. un.
Maîtrise des CSS
de.la.règle..De.la.même.manière,.s’il.ne.comprend.pas.une.propriété.ou.une.valeur.particulières,.il.ignore.l’ensemble.de.la.déclaration..C’est.grâce.à.ce.fonctionnement.que.l’ajout.de.
nouveaux.sélecteurs,.de.nouvelles.propriétés.et.de.nouvelles.valeurs.peut.rester.sans.danger.
pour.les.navigateurs.plus.anciens.
Vous. pouvez. vous. appuyer. sur. ce. principe. de. fonctionnement. pour. fournir. des. règles. et.
des.déclarations.aux.navigateurs.plus.avancés.tout.en.sachant.que.les.anciens.navigateurs.
se.contenteront.de.les.ignorer..Lorsqu’une.nouvelle.version.d’un.navigateur.est.lancée.et.
prend.en.charge.les.règles.CSS.que.vous.utilisiez.comme.filtre,.tout.doit.fonctionner.comme.
prévu..Si.vous.utilisez.les.CSS.plus.avancées.pour.résoudre.un.problème.dans.les.navigateurs.plus.anciens,.vous.pouvez.espérer.que.ce.problème.aura.été.réparé.dans.les.versions.
plus.récentes..Avec.ce.système,.le.recours.aux.CSS.non.prises.en.charge.comme.mécanisme.
de.filtre.se.présente.donc.comme.une.option.relativement.sécurisée..On.est.forcé.d’ajouter.
"relativement",.car.il.existe.toujours.une.possibilité.que.le.navigateur.prenne.en.charge.le.
nouveau.code.CSS.mais.continue.de.produire.le.bogue.qu’on.croyait.ainsi.résolu.
Le.recours.aux.filtres.qui.se.fondent.sur.des.bogues.d’interprétation.est.un.peu.plus.dangereux,.parce.que.vous.vous.appuyez.alors.sur.un.bogue.et.non.sur.une.fonctionnalité..Comme.
pour.la.précédente.méthode,.si.le.bogue.d’interprétation.est.réparé.mais.que.celui.que.vous.
essayez.de.corriger.ne.l’est.pas,.vous.aurez.un.problème..Mais.il.y.a.pire,.car.certains.bogues.
d’interprétation.peuvent.surgir.dans.des.versions.plus.récentes.de.navigateurs..Ainsi,.supposons.qu’une.nouvelle.version.de.Firefox.inclue.un.bogue.d’interprétation.particulier..Si.
celui-ci.est.utilisé.comme.filtre.pour.livrer.à.Internet.Explorer.d’autres.valeurs.de.largeur.
à. prendre. en. compte. pour. son. modèle. de. boîte. propriétaire,. Firefox. héritera. soudain. des.
mêmes. largeurs. et. pourra. commencer. à. mal. afficher. de. nombreux. sites.. Il. faut. aussi. se.
souvenir.que.ces.types.de.hacks.et.de.filtres.invalident.souvent.le.code..En.règle.générale,.
il.est.donc.plus.sûr.d’utiliser.des.filtres.qui.s’appuient.sur.des.propriétés.CSS.non.prises.en.
charge.que.sur.celles.qui.utilisent.des.bogues.de.navigateurs..Mieux.encore :.tâchez.de.les.
éviter.toutes.
Utiliser les hacks et les filtres avec raison
Malheureusement,. les. développeurs,. notamment. ceux. qui. découvraient. les. CSS,. se. sont.
excessivement. appuyés. sur. les. hacks. et. les. filtres.. Quand. quelque. chose. ne. fonctionnait.
pas.dans.un.navigateur.particulier,.ils.ont.souvent.eu.le.réflexe.d’utiliser.immédiatement.un.
hack,.comme.un.coup.de.baguette.magique..Certains.s’imaginent.même.pouvoir.mesurer.
leur.niveau.d’expertise.au.nombre.de.hacks.et.de.filtres.obscurs.qu’ils.connaissent.
Si.vous.avez.bien.travaillé.et.que.vous.réalisiez.que.la.seule.option.qui.vous.reste.est.d’employer.un.hack.ou.un.filtre,.vous.devez.le.faire.de.manière.raisonnable.et.contrôlée..Si.vos.
fichiers.CSS.sont.petits.et.simples.et.que.vous.deviez.employer.un.ou.deux.hacks,.il.n’y.a.
probablement.pas.de.risque.à.les.placer.dans.vos.fichiers.CSS.principaux,.en.les.accompagnant. de. commentaires. appropriés.. Cependant,. les. hacks. sont. assez. souvent. compliqués.
et.peuvent.rendre.le.code.difficile.à.lire..Si.vos.fichiers.CSS.sont.longs.et.compliqués.ou.
si.vous.devez.utiliser.beaucoup.de.hacks,.il.peut.être.préférable.de.les.séparer.dans.leurs.
propres.feuilles.de.styles..Le.fait.de.séparer.les.hacks.non.seulement.rend.le.code.plus.facile.
à. lire. mais. signifie. également. que. si. un. hack. commence. à. poser. des. problèmes. dans. un.
