CSS样式无法识别数字[重复]

Posted

技术标签:

【中文标题】CSS样式无法识别数字[重复]【英文标题】:CSS style not recognizing numbers [duplicate] 【发布时间】:2012-06-21 10:30:53 【问题描述】:

可能重复:What characters are valid in CSS class names?

如果假设是这样,请不要这样做,但是当我指定一个类:.3plans 时,它不会应用样式。但是当我将类名更改为 .plans 时,它会识别样式。这是为什么?请注意,.3plans 类是独一无二的,在我的工作表中没有其他样式,因此不能重复。这种现象是常见的 CSS 做法吗? (不要在样式中使用数字)

【问题讨论】:

【参考方案1】:

如果class & ID 是从数字开始的,那么css就不能识别。但是你可以这样写.plans3 而不是.3plans

根据W3c

在 CSS 中,标识符(包括元素名称、类和 ID) 选择器)只能包含字符 [a-z0-9] 和 ISO 10646 字符 U+00A1 及更高,加上连字符 (-) 和下划线 (_);它们不能以数字或连字符后跟数字开头。 标识符还可以包含转义字符和任何 ISO 10646 字符作为数字代码(见下一项)。例如, 标识符“黑白?”可以写成“B\&W\?”或“B\26 W\3F”。

查看此讨论以获取更多信息Which characters are valid in CSS class names/selectors?

【讨论】:

【参考方案2】:

这让我困惑了一段时间,直到有人指出这一点。来自 W3C:

在 CSS2 中,标识符(包括元素名称、类和 ID) 选择器)只能包含字符 [A-Za-z0-9] 和 ISO 10646 字符 161 及更高,加上连字符 (-);他们不能从 连字符或数字。它们还可以包含转义字符和任何 ISO 10646 字符作为数字代码(参见下一项)。例如, 标识符“B&W?”可以写成“B\&W\?”或“B\26 W\3F”。

【讨论】:

【参考方案3】:

基本上名称必须以以下划线 (_)、破折号 (-) 或字母 (a–z) 开头,后跟 数字 的 破折号、下划线字母数字

现在查看更多信息http://www.w3.org/TR/CSS21/grammar.html#scanner

【讨论】:

【参考方案4】:

类名可以以数字开头,但必须将数字写成转义码:

.\33plans  ... 

33 是字符3 的十六进制字符代码。

W3C CSS 验证服务说:

"在 CSS1 中,类名可以以数字 (".55ft") 开头,除非它 是一个尺寸(“.55in”)。在 CSS2 中,此类类被解析为未知 尺寸(以允许将来添加新单元) "3plans" 一个有效的类,CSS2 要求第一个数字被转义 ".\33plans" [3plans]"

【讨论】:

mothereff.in/css-escapes

以上是关于CSS样式无法识别数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

MFC:IInternetProtocolSink 无法识别 MIME 类型“text/css”

为啥用less css来写样式,只在火狐里有效,IE 和 chrome都无法识别,我是在客户端使用的哈!

Firefox 无法识别字体

JavaScript 标准样式无法识别 Mocha

“ValueError:无法识别的标记样式'hline'”。 Matplotlib plot() 和 scatter() 函数无法识别一堆标记

无法识别捆绑的脚本/css