Re: Publishing the flexible box model

Alan Gresley wrote:
> Andrew Fedoniouk wrote:
>> Robert O'Callahan wrote:
>>> There will also be interesting interactions between flex-units and 
>>> clearance.
>>> <div style="overflow:auto;" class="block-formatting-context">
>>>   <div style="height:1*;">Hello</div>
>>>   <div style="float:left;">Kitty</div>
>>>   <div style="clear:left;">Kitty</div>
>>> </div>
>>> Since we don't know the vertical positions until the end, we can't 
>>> know whether to clear or not. If we treat 1* as auto while we compute 
>>> clearance, the results are going to be really bad when we apply flex 
>>> at the end.
>> As I said floats are not the best friends of flexes. But if flexes and 
>> the flow attribute will be implemented you will see a dramatic 
>> reduction of floats uses.
>> All cases when floats are used currently for horizontal block layout 
>> purposes can be implemented significantly better and more reliable 
>> with flexes.
> Sorry Andrew but I disagree totally here. The beauty of the using floats 
> is that any block elements following in the source will expand the full 
> width of their containing block in the presence of floated elements 
> after widths and margins are calculated.

Sorry, but where did you find such beauty in the spec?


Yeah, nice shot of Carina Nebulae. That is courtesy of Hubble team, BTW.

> Can the flex-box-model to something similar, like show the elements (ie. 
> red border and image) behind the floats?

I am not sure I understand your problem or idea of what you are trying 
to achieve. At least it is hard for me to imagine where such peculiar 
constructions can be used in practice.

Here is one practical layout that people are asking for in years:

With current state of CSS it is simply impossible to reproduce it.
(Currently, you can do it with <table> and in quirks mode only)

> To say that there would be a reduction of the use of floats by authors 
> is not true since floats can be used in many different ways for very 
> different layouts.

Floats were designed initially as a way to attach images and tables
with the text - aside elements or call-outs. E.g. HTML 3.2 had
only two elements that have @align evaluated to modern float:left/right:
<img> and <table>. Floats was and still are not designed for types of 
positioning other than to put something aside of text.

Attempts to use floats for block positioning are extremely not
scalable and not reliable now and for the future.

Here is David Baron's nice article about the subject That is, IMO, must read thing if
you are seriously in business of teaching people of how to
use CSS properly.

> You are a programmer and browser impersonator. Are you also a CSS 
> author? Have you ever done CSS layouts? If the answer is no to both 
> these questions then you are not in the position to judge if the 
> flex-box-model could replace the use of floats by authors.

I've implemented CSS parser and CSS rendering engine by myself
(CSS 2.1 and parts of CSS3). I suspect that I know CSS a bit better
than average CSS author.

Andrew Fedoniouk.

Received on Saturday, 7 June 2008 20:35:53 UTC