Могу ли я использовать camel-case в именах классов CSS
Я хочу назвать класс CSS и назвать его imgSuper. Могу ли я использовать camel-casing в классах 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\26 W\3F".
...регистра значения из атрибутов HTML "id" и "class", имен шрифтов и URIs лежит вне области этой спецификации.
вместо того, чтобы изучать браузеры и условия, где регистр чувствителен, лучше всего просто понять, что лучший подход является наиболее совместимым: используйте один и тот же случай во всем коде для данного класса CSS и не создавайте два или более имен классов CSS, которые отличаются только в случае.
конечно. здесь являются официальными правилами; в основном вы не должны начинать имя с числа, и вы можете использовать буквы, цифры, дефис, подчеркивание и экранированные или закодированные символы.
однако, в соответствии с Конвенцией, дефисы обычно используются вместо случая верблюда.
да, имена классов чувствительны к регистру, так что работает отлично.
однако вы должны знать,что некоторые браузеры ошибаются и не рассматривают имена классов как чувствительные к регистру. Поэтому следует избегать использования как верхнего, так и нижнего регистра с одинаковым именем. Классы imgSuper
и imgsuper
может рассматриваться как то же самое некоторыми браузерами.
Да, вы можете. Просто убедитесь, что если вы вызываете класс "fooBar" в своем css-файле, который вы используете согласованные шапки при назначении class="fooBar" в своей разметке.