Re: [CSS21] Nested floats and zero-height margin box

On Sat, 18 Feb 2012 04:11:10 +0100, Gérard Talbot <www-style@gtalbot.org>  
wrote:

>
> Le Ven 17 février 2012 14:56, "Gérard Talbot" a écrit :
>> Hello,
>>
>> I am working on the following tests:
>>
>> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/float-non-replaced-width-013.html
>>
>> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/float-non-replaced-width-014.html
>>
>> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/float-non-replaced-width-015.html
>>
>> http://www.gtalbot.org/BrowserBugsSection/css21testsuite/float-non-replaced-width-016.html
>>
>> 1- Are those tests correct? If no, please explain a bit, preferably by
>> quoting the relevant chunks of the spec.
>
> A float establishes a new block formatting context for its children (as
> stated in section 9.4.1). And the right outer edge of a left-floating box
> may not be to the right of the left outer edge of any right-floating box
> that is next to it. Analogous rules hold for right-floating elements.
> So, the parent float should be as wide as the sum of the width of its
> children.
>
> Consider this issue as SOLVED

I don't think the spec covers these adequately.

First of all, the outermost floats here are all auto-width, in which case  
"CSS 2.1 does not define the exact algorithm" for finding preferred width  
and preferred minimum width.

Second of all, what does it mean for a right-floating box to be "next to"  
a left-floating box? This doesn't seem to be properly defined. Perhaps it  
should be similar to the case of lineboxes "next to" floats, where floats  
with zero outer height are not supposed to shorten lineboxes. Then, for  
e.g. float-non-replaced-width-013 it would be perfectly fine to put  
#floated-left-child in the top left and #floated-right-child "below" it -  
#floated-right-child would still be "as high as possible".

-- 
Øyvind Stenhaug
Core Norway, Opera Software ASA

Received on Tuesday, 21 February 2012 17:46:38 UTC