CSS选择器中的特殊字符

时间:2015-06-07 10:32:48

标签: css special-characters

我在semantic UI中找到了这个CSS定义。他们广泛使用这种风格。

.ui.\32.buttons > .button,
.ui.two.buttons > .button {
  width: 50%;
}

我可以看到他们想要完成的任务。 他们希望CSS定义读取

.ui.2.buttons > .button,

必须是ASCII码。 Code \ 32将是一个空间。 Code \ 3将是“文本的开头”。

你能解释一下这里发生了什么吗?为什么ascii没有转换成空格? 为什么W3C CSS validator会毫无错误地接受这个CSS?

1 个答案:

答案 0 :(得分:2)

\32十六进制 32,转换为十进制数50,实际上是字符2\31将是1

我从W3C规范中找到了这个引用:

  

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

我在this arcticle中找到了将其置于上下文中的引用,但它归结为这样的事实:虽然通常类名不能以数字开头,但是当数字作为转义字符输入或(在这种情况下)一个角色的ISO 10646 numeric code