- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Fri, 16 May 2008 10:22:19 -0500
- To: Alan Gresley <alan@css-class.com>, www-style Mailing List <www-style@w3.org>
Alan Gresley wrote: > All implementations will parse it correctly. If you have. > > background:red url(image.png)0 0 no-repeat; > > All implementations will parse it except IE5~IE8 (that I can test > locally). I believe that IE is correct here since white-space separated > values are a must with other CSS properties. They're only a must insofar as they affect tokenization. Here are the relevant parts of section 4.1.1: declaration : property S* ':' S* value; value : [ any | block | ATKEYWORD S* ]+; any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES | DASHMATCH | FUNCTION S* any* ')' | '(' S* any* ')' | '[' S* any* ']' ] S*; Note that nowhere after the ':' is whitespace required. Most of the tokens involved are only terminated by whitespace, but at least URI and STRING are not. So for example: prop: "xyz"0; is equivalent to prop: "xyz" 0; per this grammar. It seems to me that you're thinking of |value| being defined more as as: value : [ any | block | ATKEYWORD ] trailing-value* S*; trailing-value : S+ [ any | block | ATKEYWORD ]; But that's not at all what the spec says right now. -Boris
Received on Friday, 16 May 2008 15:23:09 UTC