我在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?
答案 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。