 |
Forum |
|
|
Réagissez
dans les forums
de JDN Développeurs
|
Classitis et Divitis sont deux maladies (baptisées
par Jeffrey
Zeldman) qui affligent les développeurs Web quand
vient l'heure de passer leur site de l'état d' "ensemble
de tables imbriquées" à celui de "site
tout CSS" ou, plus raisonnablement, de site "hybride"
(un minimum de tables pour un fort usage de CSS). On les rencontre
fréquemment chez ceux qui doivent "passer aux feuilles de style" de manière un peu forcée, et à l'inverse chez ceux qui considère que CSS est le Saint Graal, s'y plongant dès lors trop vite et sans prendre vraiment le temps de réfléchir.
On peut résumer ces deux maux avec un seul terme : surplus.
Surplus de classes pour la classitis, et surplus de div
pour la divitis. La différence peut sembler subtile,
mais elle est bien réelle.
Classitis
Classitis : utiliser un sélecteur "class"
quand ce n'est pas nécessaire :
<p class="bloc"><font
class="verdana"><font class="gras
rouge">Attention</font>, vous entrez dans
une <font class="gras rouge majuscule italique">zone
de danger</font>! <a href="/" class="lien
rouge">Cliquez ici!</a></font></p>
La "philosophie"
CSS serait la suivante : les balises ont leurs propres sémantiques, tout ce qui touche à la mise en page est dévolu aux feuilles de style. C'est pourquoi
la balise FONT est bannie des design CSS, et c'est aussi pourquoi
l'exemple ci-dessus n'apporte aucune amélioration
au balisage par rapport à une version visuellement
équivalente en "vieil HTML".
Une version plus sémantique serait :
<p class="bloc"><strong>Attention<strong>,
vous entrez dans une <strong><i>zone de danger</i></strong>!
<a href="/"Cliquez ici!</a>
A charge ensuite pour CSS d'appliquer les couleurs, polices
et autres frivolités qui n'ont pas leur place dans
les balisages modernes.
Divitis
Divitis : plus de balises "div"
que nécessaire :
<div class="bloccontenu"><div
class="bloccentre"><div class="blocwarning"><strong>Attention</strong>,
vous entrez dans une <strong><i>zone de danger</i></strong>!</div><div
class="lien"><a href="/">Cliquez
ici!</a></div></div></div>
Ici encore, tous les avantages de l'utilisation des divs,
des classes et des CSS est
perdu en voulant absolument baliser le plus possible les éléments
ayant une spécificité graphique... Sans se rendre
compte que les CSS peuvent appliquer plusieurs règles
à un élément, et cibler directement les
sous-éléments d'une classe.
Une version un peu plus propre serait :
<div class="warning"><strong>Attention</strong>,
vous entrez dans une <strong><i>zone de danger</i></strong>!
<a href="/">Cliquez ici!</a></div>
Là encore, il sera facile de créer une CSS
qui affichera ce texte comme désiré.
En sachant reconnaître et éviter classitis et
divitis, non seulement vous simplifiez votre balisage (et
le rendez plus logique aux navigateurs et machines de traitement
comme le Googlebot), mais vous condensez également
votre CSS. Classitis
et divitis enlèvent sens et structure aux pages Web, et empêchent de produire un contenu plus facile
à traiter et à mettre à jour.
|