CSS语法规范中<any-value>的自定义语法解读是否正确?
关于CSS
<any-value> 语法的解读疑问 请问<any-value>可以是什么?
根据CSS语法规范:
<declaration-value>生成式匹配一个或多个令牌的任意序列,只要该序列不包含<bad-string-token>、<bad-url-token>、未匹配的*<)-token>、<]-token>或<}-token>,也不包含顶级的<semicolon-token>令牌或值为!的<delim-token>*令牌。它表示有效声明可以拥有的完整值内容。*
<any-value>生成式与<declaration-value>完全相同,但还允许顶级的<semicolon-token>令牌和值为!的<delim-token>*令牌。它表示任意上下文中有效CSS的完整内容。
基于此以及令牌化章节中定义的令牌列表,我整理出如下语法(忽略空格):
function-token = ident-token '(' any-value ')' # 与规范不同 delim-token = <无法解析为其他令牌的任意内容>
any-value = ( ident-token | function-token | at-keyword-token | hash-token | string-token | url-token | delim-token | number-token | percentage-token | dimension-token | unicode-range-token | '<!--' | '-->' | ':' | ';' | ',' | '(' any-value ')' | '[' any-value ']' | '{' any-value '}' )*
如你所见,我要求括号必须匹配。如规范所述,*<declaration-value>*不能包含未匹配的闭合括号,但不确定是否允许未匹配的开括号。请问我的解读是否正确?若不正确,问题出在哪里?
内容的提问来源于stack exchange,提问作者InSync
相关产品推荐
相关产品推荐

