Puis - je utiliser camel-case dans les noms de classe CSS

je veux nommer une classe CSS et l'appeler imgSuper. Puis-je utiliser des chameaux dans les cours CSS?

29
demandé sur Warren Young 2009-10-10 17:40:03

4 réponses

techniquement Oui, mais c'est risqué car alors que la syntaxe CSS est la plupart du temps insensible à la casse, dans certains navigateurs sous certaines conditions, les noms de classe sont traités comme sensibles à la casse, car la spécification ne spécifie pas comment les navigateurs doivent traiter la casse lors de l'appariement des règles CSS aux noms de classe HTML.

le spec, section 4.1.3:

toute la syntaxe CSS est insensible à la casse dans la plage ASCII...

dans CSS, les identificateurs (y compris les noms d'éléments, les classes et les identificateurs dans les sélecteurs) ne peuvent contenir que les caractères [A-zA-Z0-9] et les caractères U+00A1 et supérieurs de la norme ISO 10646, plus le trait d'Union (-) et le caractère de soulignement (_); ils ne peuvent pas commencer par un chiffre, ou un trait d'Union suivi d'un chiffre. Les identificateurs peuvent également contenir des caractères échappés et n'importe quel caractère ISO 10646 comme un code numérique (voir l'article suivant). Par exemple, l'identificateur " B & W?"peut être écrit comme" B\ & W\?"ou"B\26 W\3F".

...le cas de la sensibilité des valeurs des attributs HTML "id" et "class", des noms de police, et de L'URIs se trouve en dehors de la portée de cette spécification.

plutôt que d'apprendre les navigateurs et les conditions où case est sensible, il est préférable que vous réalisiez que la meilleure approche est la plus compatible: utilisez le même cas dans tout le code pour une classe CSS donnée, et ne créez pas deux ou plusieurs noms de classe CSS qui diffèrent seulement dans le cas.

38
répondu Warren Young 2015-11-15 10:05:05

bien Sûr. Ici sont les règles officielles; fondamentalement, vous ne devriez pas commencer le nom avec un nombre, et vous pouvez utiliser des lettres, des nombres, des traits d'union, des soulignements, et des caractères échappés ou encodés.

cependant, par convention, les traits d'Union sont généralement utilisés à la place du chameau.

6
répondu Jacob Mattison 2009-10-10 13:49:21

Oui, les noms de classe sont sensibles à la casse, donc ça marche très bien.

cependant, vous devriez être conscient que certains navigateurs se trompent, et ne traitent pas les noms de classe comme sensibles à la casse. Par conséquent, vous devez éviter d'utiliser à la fois les variantes supérieure et inférieure du même nom. Les classes imgSuper et imgsuper peut être traité de la même façon par certains navigateurs.

1
répondu Guffa 2016-07-07 15:36:15

Oui, vous pouvez. Assurez-vous juste que si vous appelez une classe "fooBar" dans votre fichier css que vous utilisez des caps cohérents lors de l'assignation de classe="fooBar" dans votre markup.

0
répondu ozona 2009-10-10 13:51:29