In the new text in
http://dev.w3.org/csswg/css3-values/#the-calc-min-and-max-functions
describing calc(), I think these constraints:
> 2. At "*":
> check: at least one side is "number"
> return: the type of the other side
> 3. At "/":
> check: either right side is "number," or both have the same type
> return: if the former, type of left side; otherwise "number"
are too strong. And, additionally, since the new definition of the
binary operators is nonrecursive, they're also ambiguous.
In particular, I think it's bad that they make:
2em * (2em / 3em)
legal while the mathematically equivalent:
(2em * 2em) / 3em
is illegal and it's unclear whether:
2em * 2em / 3em
is legal or not. I think these should be handled consistently.
That said, in my implementation in Gecko I'm not implementing
division by values at this time.
-David
--
L. David Baron http://dbaron.org/
Mozilla Corporation http://www.mozilla.com/