Quels caractères spéciaux dans les classes ?
Nantes, le 10 mars 2024.
Les caractères autorisés pour écrire des classes (ou des identifiants) restent nombreux si vous ne souhaitez pas les échapper dans vos styles.
Mais la liste se restreint drastiquement si en plus :
- vous souhaitez qu’ils soient facilement accessibles via un clavier standard (ce qui exclut par exemple le ¤ difficile d’accès sous Mac ou le © difficile d’accès sous Windows) ;
- leur lisibilité (et identification) est importante dans les éditeurs courants (ce qui exclut les tirets, trop proches du trait d’union avec une police de chasse fixe —
foo–bar
vsfoo-bar
) ; - vous ne souhaitez pas qu’ils puissent être trop facilement confondus avec des lettres (ce qui exclut les diacritiques —
fooçbar
vsfoocbar
) .
Les plus usités sont bien sûr le trait d’union et le souligné. Ils sont même parfois doublés, comme la syntaxe BEM le propose.
À l’instar de cette syntaxe (qu’on pourrait aussi étendre, ou modifier) je cherche donc à lister ici des caractères auxquels je pourrais associer des logiques de construction et ainsi normaliser la nomenclature des éléments.
Voici ceux que j’ai retenus, mais cette liste étant subjective, n’hésitez pas à en proposer également.
.foo-bar { }
.foo_bar { }
.foo°bar { }
.foo§bar { }
.foo¨bar { }
.foo€bar { }
.foo¥bar { }
.fooµbar { }
La pêche n’est pas incroyable comme vous le voyez… Peut-être faut-il se contenter alors de décrire les logiques avec un terme explicite inséré dans le nom des classes ?
La piste des emojis proposée par Yoan semble intéressante également !
Biou me signale que le Yen et le micro seront difficiles d’accès sur certains claviers QWERTZ (notez la lettre finale)… la liste se réduit encore plus !
Cet article de Mathias Bynens traite du sujet bien plus en profondeur.
Mon petit CodePen de tests est également disponible.
Vincent.