Я хочу назвать класс CSS и назвать его imgSuper. Могу ли я использовать camelCasing в классах CSS?
Могу ли я использовать camelCase в именах классов CSS?
Ответы (4)
Технически да, но это рискованно, потому что, хотя синтаксис CSS в основном нечувствителен к регистру, в некоторых браузерах при определенных условиях имена классов обрабатываются как чувствительные к регистру, поскольку спецификация не указывает, как браузеры должны обрабатывать регистр при сопоставлении правил CSS с классом HTML. имена.
Из спецификации, раздел 4.1.3:
Весь синтаксис CSS нечувствителен к регистру в пределах диапазона ASCII...
В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы [a-zA-Z0-9] и символы ISO 10646 U+00A1 и выше, а также дефис (-) и знак подчеркивания ( _); они не могут начинаться с цифры или с дефиса, за которым следует цифра. Идентификаторы также могут содержать экранированные символы и любой символ ISO 10646 в виде числового кода (см. следующий пункт). Например, идентификатор "B&W?" может быть записано как "B\&W\?" или "B\26W\3F".
... чувствительность к регистру значений атрибутов HTML "id" и "class", имен шрифтов и URI выходит за рамки этой спецификации.
Вместо того, чтобы изучать браузеры и условия, в которых регистр чувствителен, лучше просто понять, что лучший подход является наиболее совместимым: используйте один и тот же регистр во всем коде для данного класса CSS и не создавайте два или более класса CSS. имена, отличающиеся только регистром.
Конечно. здесь приведены официальные правила; в основном вы не должны начинать имя с цифры, и вы можете использовать буквы, цифры, дефис, подчеркивание и экранированные или закодированные символы.
Однако по соглашению вместо верблюжьего регистра обычно используются дефисы.
"All attribute names on HTML elements in HTML documents get ASCII-lowercased automatically"
, будет ли имя класса также включено при произнесении имен атрибутов?? если да, то избегать использования верхних регистров может быть только хорошо. см. w3.org/ html/wg/drafts/html/master/
- person Adrien Be; 08.08.2014
"attribute names"
, а не значения атрибутов. Смущенный. Вся эта путаница с именами и значениями атрибутов, которые автоматически переводятся в нижний регистр или нет, вероятно, является основной причиной, по которой все приняли соглашение НЕ использовать верблюжий регистр. см. reference.sitepoint.com/css/casesensitivity и w3.org/TR/html401/types.html#h-6.1
- person Adrien Be; 08.08.2014
Да, имена классов чувствительны к регистру, так что это нормально.
Однако вы должны знать, что некоторые браузеры понимают это неправильно и не рассматривают имена классов как чувствительные к регистру. Поэтому вам следует избегать использования одного и того же имени как в верхнем, так и в нижнем регистре. Некоторые браузеры могут рассматривать классы imgSuper
и imgsuper
как одно и то же.
Да, ты можешь. Просто убедитесь, что если вы называете класс «fooBar» в своем файле css, вы используете согласованные заглавные буквы при назначении class = «fooBar» в своей разметке.