W3C home > Mailing lists > Public > www-style@w3.org > May 2010

Re: [css3-flex] calc(flex) and concept of free space.

From: François REMY <fremycompany_pub@yahoo.fr>
Date: Mon, 31 May 2010 09:35:52 +0200
Message-ID: <D73D863348904463B59A4E3953C574D3@FREMY2>
To: "Andrew Fedoniouk" <news@terrainformatica.com>, "Tab Atkins Jr." <jackalmage@gmail.com>
Cc: "Zack Weinberg" <zweinberg@mozilla.com>, "Brad Kemper" <brad.kemper@gmail.com>, <www-style@w3.org>
From: "Andrew Fedoniouk" <news@terrainformatica.com>
> Scrollbars just show that negative free space of yours :)
> Anyway, tell me better what would be the width of inner div here:
> <div width:1000px padding-left:1fx>
>    <div width:calc(500px + 1fx) />
> </div>
> Something tells me it will get zero, correct?

>From my understanding of the spec, it will not be zero.

The available space is 1000px.
The "non-flexible" part of the content is 0px for padding
and 500px for the DIV. So, the freespace is 500px wide.

This free space has to be divided between the two props
that have a flexible part. So, since we have "1fx" vs "1fx",
each of the two will be accredited of 250px.

So, we end up in a situation identical to :
> <div width:750px padding-left: 250px>
>    <div width:calc(750px) />
> </div>

Or, maybe the spec don't allow padding-left of the flex
element to honnor his flex part, since it would force the
element width to increase (if we don't change the width
value). So, in this case, you would have :

> <div width:1000px padding-left: (invalid rule)>
>    <div width:calc(1000px) />
> </div>

Maybe Tab could have a look at his spec to say precisely
what's beeing defined about that. I would personnaly
prefer the second option, since we could perform the
desired behavior just by having :

> <div width:1000px>
>    <div margin-left: 1fx; width:calc(500px + 1fx) />
> </div> 
Received on Monday, 31 May 2010 07:36:25 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:38:35 UTC