Ви можете перевірити безпосередньо в граматиці CSS .
В основному 1 , ім'я повинно починатися з підкреслення ( _
), дефіса ( -
) або літери ( a
- z
), після чого будь-яка кількість дефісів, підкреслення, букв чи цифр. Є улов: якщо перший символ є дефісом, другий символ повинен бути 2 буквою або підкресленням, а ім'я має бути не менше 2 символів.
-?[_a-zA-Z]+[_a-zA-Z0-9-]*
Коротше кажучи, попереднє правило перекладається на наступне, витягнуте із специфікації W3C. :
У CSS ідентифікатори (включаючи назви елементів, класи та ідентифікатори у селекторах) можуть містити лише символи [a-z0-9] та ISO 10646 символів U + 00A1 і вище, плюс дефіс (-) та підкреслення (_) ; вони не можуть починатися цифрою або дефісом, за яким слідує цифра. Ідентифікатори також можуть містити пропущені символи та будь-який символ ISO 10646 як числовий код (див. Наступний пункт). Наприклад, ідентифікатор "B&W?" може бути записано як "B \ & W \?" або "B \ 26 W \ 3F".
Ідентифікатори, що починаються з дефісу або підкреслення, зазвичай зарезервовані для розширень, орієнтованих на браузер, як у -moz-opacity
.
1 Все ускладнюється включенням уникнутих символів Unicode (які ніхто не використовує).
2 Зауважте, що згідно з граматикою, з якою я пов'язаний, правило, що починається з ДВАХ дефісів, наприклад --indent1
, є недійсним. Однак я майже впевнений, що бачив це на практиці.