Re: [css-break][css-overflow-3][css-regions][css4-ui] generalizing 'region-fragment' into a fragmentation primitive: a first step to solving multi-line ellipsis

> On 11 Mar 2015, at 18:23, Alan Stearns <stearns@adobe.com> wrote:
> 
> On 3/10/15, 2:56 PM, "Florian Rivoal" <florian@rivoal.net> wrote:
> 
>> However, when working out what these various values compute to in 
>> difference cases, I realized that ''next'' and ''auto'' end up meaning 
>> the exact same thing in all cases (please check the spec for details). I 
>> didn't think it made sense to have both, and picked ''next'' out of the 
>> two so that the computed values would look better, but I was on the 
>> fence, as ''auto'' is a better name for the initial value.
> 
> Could you go into your thinking here a bit more? I don’t understand why 
> the computed values would look better with ''next'', and still prefer 
> ''auto'' for this value.

The way I look at this, we have several kinds of ''auto'' in css. Most often, it means a special behavior (maybe complicated, maybe UA dependent, maybe just a default do-the-right-thing) that cannot be expressed by the other values of this property. When that's the case, I think ''auto'' computing to ''auto'' the right thing to do. Examples: width, margin, z-index, cursor, color-correction, 

More rarely, ''auto'' means: based on various things that can be determined at computed value time, pick between one of behaviors that can be expressed by the other values of this property. When that's the case, I think ''auto'' should not compute to ''auto'', and should instead compute to the value whose behavior it is selecting. Examples: justify-content, align-content

For this property, I was going for the latter. We could just use ''auto'' instead of ''next'', but then as an initial value, ''auto'' would effectively mean "pick the right behavior based on context", while as a computed value, it could only happen on non-last regions (and columns if we ever get a selector for these), and would mean "continue in the next region (or column)".

If you don't think about it too closely, it works out ok. ''auto'' is not weird as an initial value, and ''auto'' is not weird either as a "go to the next column or region or what have you". But when designing the property, I did think about it closely, and having both these meanings in the same word felt weird to me. Maybe it's not.

Talking through this at least convinced me[1] that ''auto'' was better than ''next'', so I've updated the spec to reflect that. I would still prefer finding a way to avoid having auto mean both "pick the right value" and "do this special thing", but until I find one, that will do.

 - Florian

[1] http://en.wikipedia.org/wiki/Rubber_duck_debugging

Received on Wednesday, 11 March 2015 20:47:13 UTC