W3C home > Mailing lists > Public > www-style@w3.org > January 2009

Re: [CSS2.1-9.5] [CSS2.1-9.4.1] Block formatting context and Floats

From: fantasai <fantasai.lists@inkedblade.net>
Date: Tue, 20 Jan 2009 11:36:12 -0800
Message-ID: <497627AC.3040409@inkedblade.net>
To: Anton Prowse <prowse@moonhenge.net>
CC: www-style@w3.org

Anton Prowse wrote:
> This correspondence was confusing; however, the issue which I believe 
> was being raised is a valid concern and needs clarification or 
> resolution.   Note that for convenience the relevant passages from the 
> spec are quoted in their entirety at the bottom of this mail.
> 9.5 (Floats) states that the border box of an in-flow block formatting 
> context B must not overlap(*) any float F in the same block formatting 
> context P as the element itself, but does not refer to the margin box of 
> B.  [Other floats, being out of flow, are excluded from this 
> requirement; this is in keeping with the following sentence higher up in 
> 9.5 which does explicitly refer to the margin box: "a floated box is 
> shifted to the left or right until its outer edge touches the containing 
> block edge or the outer edge of another float".]
> On the other hand, 9.4.1 (Block formatting contexts) states that a box B's
> left outer edge touches the left edge of the containing block P, even in
> the presence of the float F, unless B establishes a new block formatting
> context (in which case B may become narrower due to the presence of F).
> Then, irrespective of whether or not B becomes narrower, if the UA decides
> that B can sit next to F and if the left margin of B is less than the sum
>     s = (left margin of F) + (border area width of F) + m
> then B must be shifted rightwards away from the left edge of the containing
> block P.  The issue is that it is not clear by how much. 

The "unless" excludes BFCs from needing to connect their outer edges with
edges of the containing block. As for by how much, it would have to be at
least enough to prevent overlap, but the spec explicitly leaves the narrowing
effect undefined, so the position of its edge is therefore also undefined.

So, am I understanding correctly that you want that position (and therefore
exactly how much the block gets narrowed) to be defined?

Received on Tuesday, 20 January 2009 19:37:21 UTC

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