Какие символы широко поддерживаются в именах классов CSS?
-
26-09-2019 - |
Вопрос
Как подробно здесь Среди других мест единственными действительными символами в имени класса 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)
Unicode работает http://snook.ca/Чахивы /html_and_css/unicode_for_css_class_names.
/ и другие символы используются как селекторы (особенно в CSS3), поэтому нельзя использовать в именах классов. Поддерживаемые персонажи - это те, которые вы уже говорили.