2.2.70 [CSS-Level2-2009] Section G.1, Grammar
The [CSS-Level2-2009] specification states:
expr: term [ operator? term ]*; term: unary_operator?[ NUMBER S* | PERCENTAGE S* | LENGTH S* | EMS S* | EXS S* | ANGLE S* |TIME S* | FREQ S* ]| STRING S* | IDENT S* | URI S* | hexcolor | function;
The [CSS-Level1-2008] specification, Appendix B: CSS1 grammar states:
expr : term [ operator term ]* ; term : unary_operator? [ NUMBER | STRING | PERCENTAGE | LENGTH | EMS | EXS | IDENT | hexcolor | URL | RGB ] ;
Quirks Mode (All Versions)
A space is not required between a number and the next term.
Note In CSS2, a number immediately followed by an identifier is parsed as a DIMENSION token. However, CSS1 parses it as a number and an identifier. This means that in CSS1, the declaration
font: 10pt/1.2serif is correct, as is
font: 10pt/12pt serif; in CSS2, a space is required before 'serif'.
IE7 Mode, IE8 Mode, and IE9 Mode (All Versions)
A space is required between a number and an identifier.