[css3-flexbox][css21] "flexbox formatting context"

"flexbox formatting context" is defined in section 2.1 of the spec as something similar to BFC, and it is never used again.

Apparently we can't just say that flexbox is a BFC because BFC is defined to have specific layout type:

	In a block formatting context, boxes are 
	laid out one after the other, vertically, 
	beginning at the top of a containing block. 
	The vertical distance between two sibling 
	boxes is determined by the 'margin' 
	properties. Vertical margins between 
	adjacent block-level boxes in a block 
	formatting context collapse.

However the term BFC is very rarely used to refer to specific layout type, it is primarily used to refer to an independent layout container that margins don't collapse through and floats don't intrude into.

It would be said if we had to introduce "grid formatting context", "region formatting context", "ruby formatting context" just to say that those boxes are BFCs...

I think the term BFC should simply be used to refer to lack of margin collapsing and float wrapping. The contradiction of definitions can be avoided by adding text to CSS2.1-9.4.1 that block formatting context can have a different formatting model, for example if overridden by 'display' property. There is no stretch here really, flexbox is still formatting blocks, it just doesn't have to use the default algorithm of BFC...

Oh, and BTW "block formatting context" is no in CSS2.1 index, which makes it a hassle to find the definition...

Received on Tuesday, 14 February 2012 20:47:09 UTC