Какие символы широко поддерживаются в именах классов CSS?

StackOverflow https://stackoverflow.com/questions/2617170

Вопрос

Как подробно здесь Среди других мест единственными действительными символами в имени класса HTML / CSS - AZ, AZ, 0-9, дефис и подчеркивание, а первый символ должен быть буквой. Но на практике, какие персонажи на самом деле поддерживаются большинством браузеров? Более конкретно, мне интересно, какие браузеры правильно понимают Slash (/) в названии класса, а какие браузеры поддерживают имена классов, начиная с номера.

Я в первую очередь заинтересован в получении ответа на HTML, а не XHTML, если есть разница.

Спасибо.

Это было полезно?

Решение

Обратите внимание, что имена классов определяются HTML, а не CSS. HTML4 говорит то class атрибут a. cdata-list, что токены отделяют космос. Таким образом, токен одного класса может содержать любой символ, кроме символов пробела.

Интересно, какие браузеры правильно понимают Slash (/) в имени класса, и какие браузеры поддерживают имена классов, начиная с номера.

Для ссылки на такие имена в селекторе класса CSS вам нужно будет использовать побег. например.:

<div class="1blah/bläh">

соответствует:

.\31 blah\2F bläh { ... }

Это поддерживается Все текущие браузеры. Отказ Он не был поддержан IE5, но это, к счастью, больше не беспокойство. (Если у вас были опасения по поводу несоответствий кодировщиков символов, вы можете предпочесть кодировать ä так как \E4, но это не ограничение CSS как таковое.)

Если вы спрашиваете, какие браузеры позволят вам уйти с неверным селектором

.1blah/bläh

Тогда, кто действительно заботится? Просто используйте действительный.

Другие советы

http://www.w3.org/tr/2008/rec-css2-20080411/syndata.html.

Если вы посмотрите на грамматику, вы понимаете, что идентификаторы определяются как

ident       {nmstart}{nmchar}*
nmstart     [a-zA-Z]|{nonascii}|{escape}
nmchar      [a-z0-9-]|{nonascii}|{escape}
nonascii    [^\0-\177]
unicode     \\[0-9a-f]{1,6}[ \n\r\t\f]?

Так вот ваш ответ ..

(Это для CSS2)

/ и другие символы используются как селекторы (особенно в CSS3), поэтому нельзя использовать в именах классов. Поддерживаемые персонажи - это те, которые вы уже говорили.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top