

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
48 messages in org.w3.www-styleRe: Publishing the flexible box model| From | Sent On | Attachments |
|---|---|---|
| L. David Baron | Jun 3, 2008 9:48 pm | |
| Alan Gresley | Jun 3, 2008 11:56 pm | |
| L. David Baron | Jun 4, 2008 12:22 am | |
| Anne van Kesteren | Jun 4, 2008 1:12 am | |
| David Hyatt | Jun 4, 2008 1:46 pm | |
| Andrew Fedoniouk | Jun 4, 2008 5:50 pm | |
| L. David Baron | Jun 4, 2008 6:04 pm | |
| David Hyatt | Jun 4, 2008 6:54 pm | |
| Andrew Fedoniouk | Jun 4, 2008 8:09 pm | .h |
| L. David Baron | Jun 4, 2008 10:23 pm | |
| L. David Baron | Jun 4, 2008 10:48 pm | |
| Andrew Fedoniouk | Jun 4, 2008 11:39 pm | |
| Andrew Fedoniouk | Jun 5, 2008 12:32 am | |
| Alan Gresley | Jun 5, 2008 12:34 am | |
| Robert O'Callahan | Jun 6, 2008 3:44 am | |
| fantasai | Jun 6, 2008 8:12 am | |
| Andrew Fedoniouk | Jun 6, 2008 9:06 am | |
| Anne van Kesteren | Jun 6, 2008 9:40 am | |
| Andrew Fedoniouk | Jun 6, 2008 9:54 am | |
| fantasai | Jun 6, 2008 12:41 pm | |
| Andrew Fedoniouk | Jun 6, 2008 1:00 pm | |
| Robert O'Callahan | Jun 6, 2008 1:43 pm | |
| Andrew Fedoniouk | Jun 6, 2008 3:48 pm | |
| Robert O'Callahan | Jun 7, 2008 2:30 am | |
| Alan Gresley | Jun 7, 2008 7:24 am | |
| Alan Gresley | Jun 7, 2008 7:48 am | |
| Brad Kemper | Jun 7, 2008 10:03 am | |
| Andrew Fedoniouk | Jun 7, 2008 1:34 pm | |
| Andrew Fedoniouk | Jun 7, 2008 2:46 pm | |
| Alan Gresley | Jun 7, 2008 8:56 pm | |
| Robert O'Callahan | Jun 9, 2008 5:48 pm | |
| Andrew Fedoniouk | Jun 9, 2008 7:22 pm | |
| Robert O'Callahan | Jun 9, 2008 7:59 pm | |
| L. David Baron | Jun 9, 2008 8:29 pm | |
| Andrew Fedoniouk | Jun 9, 2008 9:24 pm | |
| Andrew Fedoniouk | Jun 9, 2008 9:55 pm | |
| Robert O'Callahan | Jun 9, 2008 10:04 pm | |
| Andrew Fedoniouk | Jun 10, 2008 12:02 am | |
| Robert O'Callahan | Jun 10, 2008 1:46 am | |
| Alan Gresley | Jun 10, 2008 2:19 am | |
| Alan Gresley | Jun 10, 2008 2:35 am | |
| Alan Gresley | Jun 10, 2008 2:50 am | |
| Andrew Fedoniouk | Jun 10, 2008 12:58 pm | |
| Robert O'Callahan | Jun 10, 2008 2:34 pm | |
| Andrew Fedoniouk | Jun 10, 2008 4:07 pm | |
| Andrew Fedoniouk | Jun 10, 2008 4:30 pm | |
| Andrew Fedoniouk | Jun 10, 2008 4:39 pm | |
| Mike Wilson | Jun 12, 2008 4:46 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: Publishing the flexible box model | Actions... |
|---|---|---|
| From: | Andrew Fedoniouk (ne...@terrainformatica.com) | |
| Date: | Jun 10, 2008 12:02:37 am | |
| List: | org.w3.www-style | |
Robert O'Callahan wrote:
On Tue, Jun 10, 2008 at 4:24 PM, Andrew Fedoniouk <ne...@terrainformatica.com <mailto:ne...@terrainformatica.com>> wrote:
Robert O'Callahan wrote:
On Tue, Jun 10, 2008 at 2:23 PM, Andrew Fedoniouk <ne...@terrainformatica.com <mailto:ne...@terrainformatica.com> <mailto:ne...@terrainformatica.com <mailto:ne...@terrainformatica.com>>> wrote:
Robert O'Callahan wrote:
OK but how is this going to interact with the rules here, for example:
http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
I see no problems there either. In most cases 'shrink-to-fit' is 1* exactly. Practically in all cases 'auto' value can be replaced by 1* value. 1* is a mathematically correct way of saying 'auto' :)
That doesn't answer my question. You need to extend the rules in that section to describe what happens when flexunits (not just "1*") appear for margins, padding or content.
For flow:vertical; box-sizing:content-box; ( default value )
vertical margins, paddings, content and borders in flex units share the same free space. So for style:
div.inner { padding:1* 0; }
This markup <div style="height:YYpx; flow:vertical"> <div class=inner>First</div> <div class=inner>Second</div> </div>
will be rendered as
|------------ | |First | | |Second | |------------
Rule is simple: free space is distributed among all lengths in the direction in the block that establishes box with free space.
What does that have to do with absolute positioning and http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width ?
There is nothing special with this in respect of flexes. Or I do not understand your question.
You calculate positions of elements including flexes. After that you will have "would-be-position"s of absolute elements and you replace them accordingly to their left...bottom attributes.
Is this what you were asking?
Consider this:
<div style="overflow:hidden; width:xx; height:yy"> <img align=left id=first /> <p flex=1>...</p> <img align=left id=second /> </div>
You will have *exactly* the same kind of problems.
No. The flex on the <p> is ignored because the container is not a flexbox. If the container was a flexbox, then the <img> elements would not float.
Exactly the same thing as with flex units. Just replace 'flexbox' by 'flow'.
OK. So 'flow' creates something like a flexbox. One difference is that all features of CSS are available inside 'flow' except for features that cause trouble, like floats, which you disable when you discover they cause problems. But the only features available inside flexbox are ones we explicitly allow. Another difference is that you have to specify how 'flow' interacts with the various display types, whereas since flexboxes are their own display type that isn't an issue.
'flow' defines how *children* of some container are layed out. Such container shall establish container box. Otherwise flex units have no sense inside such element.
So any element with display-model:block-inside and display:block | inline-block | table-cell | list-item can be used as a flex container.
A few more questions about flex-units:
Does 'flow' apply to inline elements? If so, what does 'flow:vertical' do on an inline element?
As I said flow is applicable only to elements that establish boxes - so to create bounds for flex length distribution. Inlines are clearly not such blocks.
How do flexunits work on inline elements that break across multiple lines? e.g <span style="font-size:50px;">Foo</span> <span style="padding-top:1*">A<br>B<br>C</span> <span style="font-size:80px;">qux</span> Which line box(es) are used to determine the padding? Does each line of the <span> actually get a different padding?
Flex units are defined only for blocks and block-alike elements. display: block | inline-block | table | table-cell | etc.
inline elements have no concept of dimension. In the same way as width:100px does not work for inline elements in the same way flex length units do not work there either.
<button style="width:1*; height:1*; margin:0">Text</button> has a perfect sense though. As container for inline-block elements is the line box they are in.
How do flexunits interact with absolute positioning and auto top/left? Is the hypothetical position for the content computed taking flexunit margins/padding on the content into account?
Yes.
Here is a screenshot if you wish: http://terrainformatica.com/htmlayout/images/css-menus.png
And here its style system:
/* top level menu band */ menu { flow:horizontal; /* top level menu is a horizontal bar */ width:max-intrinsic; padding-right:1*; /* spring on the right - all items sticked to the left */ }
menu li { display: block; /* menu items are blocks*/ position:relative; /* to make our popup relative to this one */ height:1*; /* all items in the menu bar have the same height */ padding:2px 4px; }
menu li:hover { background-color:navy; color:white; }
menu menu { flow: vertical; /* popup menus are vertically replaced */ min-width:100%; /* at least it is caption wide */ position:absolute; /* out of normal flow */ display:none; /* non-visible normally */ }
menu > li:hover > menu { display: block; /* now it is visible */ }
-- Andrew Fedoniouk.








.h