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

fantasai wrote:

> Alan Gresley wrote:
> > I would please like clarification on the specs for "9 Visual formatting model."
> > ...
> > 9.4.1 Block formatting contexts (part of 3rd paragraph):
> > 
> > #In a block formatting context, each box's left outer edge 
> > #touches the left edge of the containing block. This is true 
> > #even in the presence of floats, unless the box establishes a 
> > #new block formatting context.
> > 
> > This has been changed to - 
> > http://www.w3.org/TR/CSS21/changes.html#q54
> > C.2.47 Section 9.4.1 Block formatting contexts
> > 
> > |In a block formatting context, each box's left outer edge 
> > |touches the left edge of the containing block. This is true 
> > |even in the presence of floats, except boxes that establishes 
> > |a new block formatting context.
> 
> I can't figure out where you're quoting from.


Yeah I have trouble finding all the different copies. Here a later copy, please see the 3rd paragraph.

http://www.w3.org/TR/CSS21/visuren.html#block-formatting

and the change in the 2nd paragraph

http://www.w3.org/TR/CSS21/changes.html#q54

#In the paragraph about the position of a box's outer edge with 
#respect to its containing block, except boxes that establish a 
#new block formatting context, as they may become narrower due 
#to floats.

which I see in the changed state:

|In a block formatting context, each box's left outer edge 
|touches the left edge of the containing block. This is true 
|even in the presence of floats, except boxes that establishes 
|a new block formatting context.


> > A few questions:
> > 
> > 1. Is the "box's left outer edge" the same as the boxes left margin edge if one is present?
> 
> Yes. See http://www.w3.org/TR/CSS21/box.html#box-dimensions
> 
> > 2. What is the difference between "unless the box establishes a new block formatting context"
> > and "except boxes that establishes a new block formatting context?"
> 
> Nothing aside from the grammar.
> 
> > 3. Doesn't this reflect the old spec for "9.5 Floats" mentioning a margin box
> > instead now the border box?
> > 
> > This seems to contradict part the reason of the change in the spec, though I'm
> > not aware what the original Gecko bug was.
> > http://lists.w3.org/Archives/Public/www-style/2007Apr/0040.html
> 
> I don't think there's a conflict.


The spec "9.4.1 Block formatting contexts"

|In a block formatting context, each box's left outer edge 
|touches the left edge of the containing block. 

|This is true even in the presence of floats, 

|except boxes that establishes a new block formatting context.

This seems to suggest that if a box establishes a new block formatting context, its' left margin edge doesn't touch the left edge of the containing block if a float is present.


> > Could 9.5 Floats (5th paragraph) be re-worded:


I should have said can 9.4.1 Block formatting contexts (3rd paragraph) be re-worded.

http://www.w3.org/TR/CSS21/visuren.html#block-formatting

> > |In a block formatting context, each box's left outer edge 
> > |touches the left edge of the containing block. This is true 
> > |even in the presence of floats. In the case of a box that 
> > |establishes a new block formatting context, the box itself may 
> > |become narrower due to the floats.

> > and tying in (linking) with the last part of "9.5 Float" (5th paragraph)

http://www.w3.org/TR/CSS21/visuren.html#bfc-next-to-float

> > |If necessary, implementations should clear the said element 
> > |by placing it below any preceding floats, but may place it 
> > |adjacent to such floats if there is sufficient space.
> 
> I can't see how we could possibly replace it with the text you give
> and still keep the intended meaning.
> 
> ~fantasai


Well the way I mixed up the specs as I did I can understand.

Alan

http://css-class.com/

Received on Tuesday, 15 January 2008 06:04:11 UTC