W3C home > Mailing lists > Public > www-style@w3.org > August 2012

Re: [css3-flexbox] What the flex is basis?

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Sat, 4 Aug 2012 12:32:06 -0700
Message-ID: <CALRQH7-26bnzz3Q9=zJEiRG+0Pad=WDoXpaxT+eUAeMK6a1Hjw@mail.gmail.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: www-style@w3.org
On Fri, Aug 3, 2012 at 8:25 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> (You're aware that the LC period has been over for a month, right?
> The spec is in CR now, and design-level changes will be automatically
> rejected.  If you had any comments on the overall design of the spec,
> you had well over a year to make them while it was in active
> development.)

I see "W3C Working Draft, 12 June 2012"
here: http://www.w3.org/TR/css3-flexbox/

And just four months ago the spec got substantial changes
as you said below ...

> On Fri, Aug 3, 2012 at 12:02 AM, Andrew Fedoniouk
> <news@terrainformatica.com> wrote:
>> If we would have real flex length units [1] then this
>> http://dev.w3.org/csswg/css3-flexbox/images/rel-vs-abs-flex.svg
>> can be defined simply as:
>> first case:
>>   span { width:1*; min-width:max-content; }
>>   span:last-child { width:2*;  }
>> and second case:
>>   span { padding:1*; min-width:max-content; }
>>   span:last-child { padding:2*;  }
>> without that mix of pathetic 'basis', 'grow' and
>> its antonym 'shrink'.
>> [1] http://www.terrainformatica.com/w3/flex-layout/flex-layout.htm
> This was discussed extensively on the list and in the f2f meetings,
> and won't be revisited.  We have strong experimental evidence that
> authors find the model of flexing always starting from width/height
> unintuitive, and so we changed the model so that you can easily flex
> from a starting value of 0.

Let's compare this:
and this
do you see any difference?

First container uses flex widths, second flex paddings.

The document is here:
you can try it in Sciter [1] for example.


width: *; // a.k.a. flex(1)

allows width to get values from 0 to infinite.
min-width/max-width may establish constrains on the range.

In the same way

margin:*; //  or 0.5*, 2*, etc.

defines margin flexing with 'border-spacing' CSS property
serving role of min-width/height for margins.

The same thing for padding.

And yet by using existing 'box-sizing'
CSS property you can choose where padding flex is applied.

That is as intuitive as something like <frameset cols="200,*">.
Web developers already use this concept in years.

> Forcing the flexing to start from the min-size is similarly
> unintuitive.  That's a constraint, not a declaration of intent.  The
> fact that a particular element shouldn't be made smaller than 100px
> doesn't mean you want it to start flexing from 100px, particularly if
> the other items in the flexbox are starting from 0.

I don't understand where "Forcing the flexing to start from the min-size"
comes from, sorry.

And yet: I am not a member of W3C CSS WG and so f2f discussions
and reasoning pronounced there is private opinion of WG members that
I respect but cannot influence.

[1] Sciter2: http://terrainformatica.com/sciter/sciter2-sdk.zip,
bin/sciter.exe - demo "browser".

Andrew Fedoniouk.

Received on Saturday, 4 August 2012 19:32:33 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:19 UTC