12

正如这里以及其他地方所详述的,html/css 类名中唯一有效的字符是 az、AZ、0-9、连字符和下划线,并且第一个字符应该是字母。但实际上,大多数浏览器实际上支持哪些字符?更具体地说,我想知道哪些浏览器可以正确理解类名中的斜杠 (/),以及哪些浏览器支持以数字开头的类名。

我主要对获得 html 而不是 xhtml 的答案感兴趣,以防有区别。

谢谢你。

4

4 回答 4

10

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

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

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

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

匹配:

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

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

如果您询问哪些浏览器可以让您摆脱无效的选择器

.1blah/bläh

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

于 2010-04-11T14:20:23.447 回答
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 的)

于 2010-04-11T13:47:32.283 回答
1

Unicode 工作http://snook.ca/archives/html_and_css/unicode_for_css_class_names

于 2010-04-11T15:00:54.793 回答
-1

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

于 2010-04-11T13:42:31.360 回答