28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous
En examinant de près une page très ancienne, je tombe sur un point qui me préoccupe:
La classe d'une balise est "NOIRBLANC". Or la page de styles ne contient pas de définition pour "NOIRBLANC" mais pour "noirblanc", et pourtant ça fonctionne!
Y a-t-il une "règle écrite" qui dit que le nom de classe est sensible à la casse et une "règle pratique" qui fait que ça marche quand même?
Ou bien est-ce que j'ai rêvé?
Votre avis m'intéresse.
PapyJP a écrit :
Bonjour à tous
En examinant de près une page très ancienne, je tombe sur un point qui me préoccupe:
La classe d'une balise est "NOIRBLANC". Or la page de styles ne contient pas de définition pour "NOIRBLANC" mais pour "noirblanc", et pourtant ça fonctionne!
Y a-t-il une "règle écrite" qui dit que le nom de classe est sensible à la casse et une "règle pratique" qui fait que ça marche quand même?
Ou bien est-ce que j'ai rêvé?
Votre avis m'intéresse.

Extrait de cet article MDN (Mozilla Quirks Mode Behavior) :
In quirks mode CSS class and id names are case insensitive. In standards mode they are case sensitive.  (This also applies to getElementsByClassName.)

En règle générale, il est vivement conseillé d'adopter le même type de noms de sélecteurs dans la feuille de style CSS et dans la page HTML en respectant leur casse, notamment dans un environnement XHTML (XML est par définition sensible aux distinctions majuscules / minuscules).
Merci de ta réponse: il s'agit donc bien d'une "facilité" pour permettre d'afficher des pages anciennes sans devoir les modifier, un peu comme les <p> <tr> et <li> non fermés qui rendent le code des anciennes pages illisibles et ont donné de terribles habitudes à certains.
En tout cas, cela veut dire qu'il faut être prudent et ne pas donner des noms de classe du genre "tableIndex" et "Tableindex".