Re: [css3-flexbox] "flex-basis: auto" means completely different things as specified value vs. computed value

On Tue, Jun 5, 2012 at 4:45 PM, fantasai <fantasai.lists@inkedblade.net> wrote:
> The problem we run into here is a terminology one: how is the spec
> supposed to refer to the effective flex basis value? We don't have
> a term for something between the computed value and the used value. :(
> Not that we can't come up with something, but it makes me wonder if
> we're either creating or exposing a systemic problem here.

Yeah, I think we were, so I changed flex-basis so that 'auto' computes
to itself.  The "effective flex basis value" is just the used value of
flex-basis, which is fine, because we don't use it until layout time
anyway.

> On 06/04/2012 05:25 PM, Daniel Holbert wrote:
>> Assuming we agree on that -- it sounds like you're saying we take the
>> parent's computed value and set it set it as the child's _specified
>> value_. (which might then compute to something else)
>>
>> With that clarification, this is still very bizarre, IMHO.  This means
>> that the "auto" value that I inherit from my parent (in the scenario
>> from my toplevel post) means something *completely* different on my
>> parent vs. what it means on me.  (It means "start flexing at max-content
>> size" on my parent, whereas it means "look at your width property" when
>> I inherit it onto myself.)
>
> Yes, this is clearly wrong! Maybe the cascade should say that the
> inherited value (the parent's computed value) becomes both the specified
> and computed value on the child?

The assumption when we made the decision was that putting a computed
value into the specified value would make the specified->computed
transition a no-op.  'flex-basis' makes this untrue, since a specified
'auto' turns into a *different* computed 'auto' sometimes.

I think it's best to just watch for violations of this assumption and
change them when necessary.  They should be quite rare, since this is
the first time it's ever happened.

~TJ

Received on Wednesday, 6 June 2012 02:22:03 UTC