1

我找不到 CSS3 颜色合法语法的精确定义,无论是正则表达式、BNF 还是任何可能存在的严格的正式定义。一些信息可以从CSS3 颜色模块中的口头描述中得出(例如,逗号分隔的列表可能包含空格),但我不知道例如前导零是否像

rgb(010,005,255)
rgba(050%,1%,01%,0)

实际上是合法的,或者省略小数的前导零,例如

rgba(100,100,100,.5)

我不是在谈论浏览器可以容忍什么,我是在问这是否是官方合法的 CSS3 语法,因为我也对在非浏览器应用程序中使用这些颜色定义感兴趣。

4

1 回答 1

0

正如您已经发现的那样,CSS3 颜色模块规范说

函数符号中 RGB 值的格式为 'rgb(' 后跟以逗号分隔的三个数值(三个整数值或三个百分比值)列表,后跟 ')'

但是你需要查看CSS 2.1 的基本数据类型部分来找出整数或百分比值是什么,它说...

某些值类型可能具有整数值(用 表示)或实数值(用 表示)。实数和整数仅以十进制表示法指定。An由一个或多个数字“0”到“9”组成。A 可以是 ,也可以是零个或多个数字,后跟一个点 (.),后跟一个或多个数字。整数和实数前面都可以用“-”或“+”表示符号。-0 相当于 0,不是负数。

所以整数和数字可以有前导零。

然后稍后在基本数据类型上说

百分比值的格式(在本规范中表示为)是紧随其后的 '%'。

所以百分比也可以有前导零。

于 2013-04-10T14:43:19.957 回答