CSS забавный факт! В разделе 4.1.3 рекомендации Синтаксис и основные типы данных (из CSS2) говорится ...
Идентификаторы также могут содержать экранированные символы и любые символы ISO 10646 в виде числового кода (см. Следующий пункт). Например, идентификатор "B & W?" может быть написано как "B \ & W \?" или "B \ 26 W \ 3F".
Таким образом, вы можете включить специальные символы в свой CSS:
<style type="text/css">
.\@user { /* valid! */
color:red;
}
</style>
Кроме того, атрибут class
представляет собой список cdata , который в основном означает « любой текст, кроме новых строк и нескольких пробелов ».
Так что вы можете включить что-то вроде этого в вашу разметку:
<div class="@user">
This is an @user
</div>
Ваша проблема не столько в @
или :
символах, сколько в тех пробелах
, которые вы добавили. (Поскольку в class
пробелах атрибутов что-то особенное: Несколько имен классов должны быть разделены пробелами.")