13

为什么任何浏览器都不能应用此颜色 rgb 规则?

HTML

<header>
    <h1>Header</h1>
</header>

CSS

header h1 {
    background-color: red;
    color: rgb (224, 226, 213);
}

Chrome Web Developer 工具告诉我这是一个无效的属性值,但我不明白为什么。您可以在JSFiddle中看到结果。

4

2 回答 2

30

rgb在和之间有一个空格(,这是不允许的:

header h1 {
    background-color: red;
    color: rgb(224, 226, 213);
}

不,我是认真的,不是。

与许多编程语言不同,CSS 明确禁止在函数名和左括号之间使用空格。这不仅适用于rgb()and rgba(),还适用于其他函数值,例如url()and attr(),以及函数伪类,:nth-child()例如:lang():not()

请参阅CSS2.1 的第 4.3.6 节,其中指出:

函数符号中 RGB 值的格式为“rgb(”,后跟以逗号分隔的三个数值(三个整数值或三个百分比值)列表,后跟“)”。[...]数值周围允许使用空格字符。

并且还要参考附录 G的语法,正是下面的标记化,它清楚地表明在标识符和左括号之间不需要空格:

{ident}"("      {return FUNCTION;}
于 2012-12-14T10:51:43.667 回答
0

您需要在之后删除空格rgb rgb(224, 226, 213)

于 2012-12-14T10:53:33.853 回答