

![]() | 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:58:59 pm | |
| List: | org.w3.www-style | |
Robert O'Callahan wrote:
On Tue, Jun 10, 2008 at 7:03 PM, Andrew Fedoniouk <ne...@terrainformatica.com <mailto:ne...@terrainformatica.com>> wrote:
Robert O'Callahan wrote:
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?
No. The rules in that section describe how to size and position an absolutely positioned element based on the values of its margin, padding, border and content size properties. Those rules do not consider flexunit values. You need to explain how the rules are extended to handle flexunit values. Are they just treated as auto?
Ah, that one...
position:absolute element is taken out of normal flow of its parent. Thus such an element is excluded from distribution of free space of its parent.
For position:absolute elements flex values are treated as having 'auto' value.
But as I said before it is a desire expressed by practical use to allow left/top/right/bottom flexes. So to have flexible absolute positioning: { position:absolute; left,top,right,bottom: 1*; }
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.
That's confusing. In CSS all rendered elements create boxes. Your explanation that 'flow' only applies to elements that are block-inside makes more sense.
Let's assume for brevity that flexes are not applicable to display:inline elements at all.
Yes, technically speaking there are attributes in didsplay:inline that could have flexes but they have almost no practical value.
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.
Hang on, you just said that 'flow' only applies to elements with block layout inside, so why does it make sense to apply flex units to table-cell?
I'd better provide an example:
<td style="flow:horizontal; direction:ltr"> <div>left</div> <div>right</div> </td>
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.
But padding does work for inline elements, so one might expect flexunits padding to work on them too. In fact here http://lists.w3.org/Archives/Public/www-style/2008Jun/0043.html I asked a question that assumed inline elements could have flex padding and you agreed.
Sorry I misunderstood you in previous message. inline-blocks can have flexes, in inline elements all flexes will become 'auto's.
Technically for display:inline elements you could have something like padding:1*; but I do not see any value of that.
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.
I mean, given <div style="flow:vertical; position:relative; height:200px; overflow:auto;"> Hello <div style="margin:1*; position:absolute;"></div> Kitty </div> The position of the inner div is computed "assuming it was in the flow" according to CSS2.1. Does that mean you have to compute the space that would be assigned to the flex margin if the inner div was in-flow?
No. position:absolute element does not affect normal flow of its siblings. flex units on such elements are evaluated to 'auto' values.
Here is a screenshot if you wish: http://terrainformatica.com/htmlayout/images/css-menus.png
Nice example, but it doesn't illustrate my question since the abs-pos element doesn't have flexunits on it.
By the way, you probably should have a close look at your decision to make block descendants of an element with 'flow' all block formatting contexts. That means that margin collapsing never happens across the boundaries of these blocks, so the discussion we had earlier about margin-collapsing and flex-units is moot. That's probably a good step but apparently that's not what you've implemented. You probably should also work out more precisely what you mean by that restriction to make it clear exactly which blocks are affected and how.
I did not say that "block descendants of an element with 'flow' *all* block formatting contexts."
Only if float appear somewhere inside block in flex context that block is said to be block formatting contexts for that float element.
I hope I've convinced you by now that there is a lot that a flexunits spec needs to say, and what it should say is not all obvious.
I do not say that changing spec will be trivial. Changes need to be done in any case. I am saying that magnitude of changes will be the same as for flexbox as for flex units. But it is better to add such mechanism once and in the version that is known to be more flexible/universal upfront.
Concept of flexes is natural for human and is well known and obvious for people who make web design professionally. Tables are using flex concept already. Badly defined/specified but it is there. Flex units will help to formalize this too. At least for things like display:table-cell flexes will allow to get to HTML tables as close as possible in CSS.
-- Andrew Fedoniouk. http://terrainformatica.com








.h