Могу ли я использовать верблюжий случай в именах классов CSS - программирование

Могу ли я использовать верблюжий случай в именах классов CSS

Я хочу назвать класс CSS и назвать его imgSuper. Могу ли я использовать верблюжий корпус в классах CSS?

4b9b3361

Ответ 1

Технически да, но это рискованно, потому что, хотя синтаксис CSS в основном не учитывает регистр, в некоторых браузерах при определенных условиях имена классов обрабатываются как чувствительные к регистру, так как спецификация не указывает, как браузеры должны обрабатывать регистр при совпадении правил CSS к именам классов HTML.

Из спецификация, раздел 4.1.3:

Весь синтаксис CSS не зависит от регистра в диапазоне ASCII...

В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы [a-zA-Z0-9] и символы ISO 10646 U + 00A1 и выше, плюс дефис (-) и подчеркивание (_); они не могут начинаться с цифры или дефиса, за которым следует цифра. Идентификаторы также могут содержать экранированные символы и любой символ ISO 10646 в виде числового кода (см. Следующий элемент). Например, идентификатор "B & W?" может быть записано как "B\& W \?" или "B\26 W\3F".

... чувствительность к регистру значений атрибутов HTML "id" и "class", имен шрифтов и URI не выходит за рамки этой спецификации.

Вместо того, чтобы изучать браузеры и условия, где дело чувствительно, лучше всего понять, что наилучший подход наиболее совместим: используйте один и тот же случай во всем коде для данного класса CSS и не создавайте два или больше имен классов CSS, которые отличаются только случаем.

Ответ 2

Конечно. Здесь - официальные правила; в основном вы не должны начинать имя с номера, и вы можете использовать буквы, цифры, дефис, символы подчеркивания и экранированные или закодированные символы.

Однако, как правило, дефис обычно используется вместо случая верблюда.

Ответ 3

Да, имена классов чувствительны к регистру, поэтому это работает нормально.

Однако вы должны знать, что некоторые браузеры ошибаются и не рассматривают имена классов как чувствительные к регистру. Поэтому вам следует избегать использования как верхнего, так и нижнего регистров с тем же именем. Классы imgSuper и imgSuper могут рассматриваться как одни и те же браузеры.

Ответ 4

Да, вы можете. Просто убедитесь, что если вы вызываете класс "fooBar" в вашем файле css, вы используете согласованные колпачки при назначении class= "fooBar" в вашей разметке.