CSS类名中广泛支持哪些字符?

时间:2010-04-11 13:38:04

标签: html css cross-browser character classname

如其他地方详细here,html / css类名中唯一有效的字符是a-z,A-Z,0-9,连字符和下划线,第一个字符应该是一个字母。但实际上,大多数浏览器实际上支持哪些字符?更具体地说,我想知道什么浏览器正确理解类名中的斜杠(/),以及哪些浏览器支持以数字开头的类名。

我主要想获得html而不是xhtml的答案,以防万一。

谢谢。

4 个答案:

答案 0 :(得分:10)

请注意,类名由HTML定义,而不是CSS。 HTML4 says class属性是cdata-list,它是以空格分隔的标记。因此,单个classname标记可以包含除空格字符之外的任何字符。

  

我想知道哪些浏览器正确理解了类名中的斜杠(/),以及哪些浏览器支持以数字开头的类名。

要在CSS类选择器中引用此类名称,您需要使用转义。例如:

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

匹配:

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

所有当前浏览器支持此功能。它不受IE5的支持,但幸运的是,这不再是一个问题。 (如果您担心字符编码不匹配,您可能更喜欢将ä编码为\E4,但这不是CSS的限制。)

如果您要问哪些浏览器可以让您使用无效选择器

.1blah/bläh

那么,谁真的在乎呢?只需使用有效的。

答案 1 :(得分:1)

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)

答案 2 :(得分:1)

答案 3 :(得分:-1)

/和其他符号用作选择器(特别是在CSS3中),因此不能在类名中使用。支持的字符是你已经说过的字符。