CSS属性值记号法

作者: 来源: 更新时间:2013-03-12 11:03:18 点击:

CSS属性值记号法是一种描述如何定义样式规则的方法,即描述CSS语法的一种方法。例如,定义某元素边框的样式规则可用如下记号法(语法)描述。

border: [ <border-width> || <border-style> || <border-color> ] | inherit

在CSS规范中,对属性值记号法进行了详细的描述,其地址为http://www.w3.org/TR/2008/REC-CSS1-20080411/#notation-for-property-values。以下是这段规范的中文译文(有改动),由尹志忠和侯妍翻译。

总地来说,每个属性的可取值采用以下语法列出:

Value: N | NW | NEValue: [ <length> | thick | thin ]{1,4}Value: [<family-name> , ]* <family-name>Value: <url>? <color> [ / <color> ]?Value: <url> || <color>

"<"和">"之间的词给出了某种值的类型,最常见的类型是<length>,<percentage>, <url>, <number> and <color>。

其余的词是必须原样显示的关键字,不要加引号。斜线(/)和逗号(,)也必须原样显示。

一些关键字串在一起,意味着所有这些关键字必须以给定顺序出现。单竖线(|)用于分隔可选项,并且可选项必须出现其中之一(但不能同时出现)。双竖线(A||B)表示出现A或B,或者两者都出现,顺序随意。中括号([])用于分组。两项并列优先级高于双竖线,双竖线高于单竖线。因此,"a b | c || de"等价于"[ a b ] | [ c || [ d e ]]"。

每个单词或加中括号的分组后面可以带有以下修饰符之一:

星号(*)表示前面的值或分组可以重复0或多次。加号(+)表示前面的值或分组可以重复1或多次。问号(?)表示前面的值或分组是可选项,即可以重复0或1次。花括号里的一对数({A, B})表示前面的值或分组至少重复A次,最多B次。