- From: L. David Baron <dbaron@dbaron.org>
- Date: Fri, 1 Jan 2010 21:16:25 -0500
- To: www-style@w3.org
On Wednesday 2009-12-23 11:24 -0500, L. David Baron wrote: > However, I think if we want the spec to allow division by values, > it's better not to use the grammar to do the dimension-checking. > For example, the current grammar allows these: > (3em / 100%) * 3em > 3em / 100% * 3em > 3em * (3em / 100%) > but disallows this: > 3em * 3em / 100% > which seems very strange. I would much rather they either be all > allowed or all disallowed. Actually, there's a bit of a problem with division-by-values that I just noticed (while trying to implement division by values with my proposal for allowing all 4 of the above, although the problem is present even without my changes). The spec (editor's draft, [1]) currently requires rejecting values that involve division by zero at parse time. (Parse time rejection is better in CSS since it allows for a better fallback mechanism: fallback to the next highest declaration in the cascade.) However, if we allow division by values, determination of what is division by zero can't be made at parse time. For example: width: calc(3em / (3em - 30px) * 20px); involves division by zero when the font size is 10px (so 3em - 30px is 0), but otherwise does not. It's not clear to me what to do about this. -David [1] http://dev.w3.org/csswg/css3-values/#the-calc-function -- L. David Baron http://dbaron.org/ Mozilla Corporation http://www.mozilla.com/
Received on Saturday, 2 January 2010 02:16:56 UTC