[csswg-drafts] [css-values] note counter-intuitive interpretation of unitless 0 inside calc()

mgiuffrida has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-values] note counter-intuitive interpretation of unitless 0 inside calc() ==
[Section 8.1.2 **`calc()` Type Checking](https://drafts.csswg.org/css-values-3/#calc-type-checking) does not explicitly indicate how a unitless `0` inside a `calc()` expression is treated. For example:

```
left: calc(0 - 5px);
```

It's not clear whether this expression is invalid. Inside `calc(()`, the types of arguments to the `-` operator must be compatible, and the rhs is of type `dimension<length>`. But what is the type of the lhs: `number` or `dimension<length>`?

Since section 5 says:

> for zero lengths the unit identifier is optional (i.e. can be syntactically represented as the `<number>` '0'

I would argue that interpreting `0` as being of type `dimension<length>` would be valid, and would be more in line with developer expectations. However, this was [discussed in 2010](https://lists.w3.org/Archives/Public/www-style/2010Dec/0479.html) with @tabatkins agreeing the `0` should cause a parse error. That's fine, but it would be helpful if the fact that `0` is never treated as a dimension inside `calc()` were explicitly noted in the spec (which was also agreed upon in that discussion).

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1114 using your GitHub account

Received on Friday, 17 March 2017 00:01:19 UTC