-1

我一直在开发一个网站,最近发现命名一个 css 类或 id '404' (当然没有引号)不会显示名为 404 的元素的任何样式。

直到我不得不创建一个 404 页面并相应地命名元素时,我才知道这一点。
(我真的很惊讶我以前没有遇到过这个。)

这背后有什么具体原因吗?
如果这是显而易见的事情,请原谅我的无知,已经进行了 48 小时的编码并且一开始因为我认为我的浏览器没有正确刷新我的 css 文件而崩溃!:P

无论如何,我只是简单地重命名了元素并且样式有效。

4

2 回答 2

1

404不是有效的标识符。您基本上必须以字母或下划线(或其他一些字符,例如$and -)开始标识符。

也请不要说它与 HTML4/5 没有任何关系 .. 这是一个 CSS 规则。CSS 标识符必须符合以下规则(包括在CSS3中):

在 CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线 ( _); 它们不能以数字、两个连字符或一个连字符后跟一个数字开头。标识符还可以包含转义字符和任何 ISO 10646 字符作为数字代码(请参阅下一项)。例如,标识符“B&W?” 可以写成“B\&W\?” 或“B\26 W\3F”。请注意,Unicode 是逐个代码等效于 ISO 10646 的(参见 [UNICODE] 和 [ISO10646])。

在 CSS 2.1 中,反斜杠 () 字符可以指示三种类型的字符转义之一。在 CSS 注释中,反斜杠代表它自己,如果反斜杠紧跟在样式表的末尾,它也代表它自己(即 DELIM 标记)。

于 2012-09-27T21:03:22.243 回答
1

在 html 4 标准中,ids 和 classes 不能以数字开头。您可能需要仔细查看规范。然而,HTML 5 删除了大部分现有的限制。要使用它,您必须将您的文档类型更改为:

<!doctype html>

我通常会建议使用这种 doctype,它可以保存使用,干净且面向未来。

CSS 也限制了选择器,但你可以用它的 Unicode 符号来转义它:

.\34 04{/*styles for your 404 class*/}

例子

于 2012-09-27T21:05:47.270 回答