- From: Alan Gresley <alan@css-class.com>
- Date: Tue, 14 Feb 2012 15:48:05 +1100
- To: Morten Stenshorne <mstensho@opera.com>
- CC: fantasai <fantasai.lists@inkedblade.net>, "www-style@w3.org" <www-style@w3.org>
On 2/02/2012 12:38 AM, Morten Stenshorne wrote: > I see that there has been some discussion in this thread regarding the > meaning of "space". I believe space is two-dimensional in this context, > but I don't think it matters that much here. > > Spec quote, part 1: > > "The border box of a table, a block-level replaced element, or an > element in the normal flow that establishes a new block formatting > context (such as an element with 'overflow' other than 'visible') > must not overlap the margin box of any floats in the same block > formatting context as the element itself." > > Spec quote, part 2: > > "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 don't see why anything in part 2 should invalidate what part 1 > says. It doesn't. The problem is in the second part. It's just the wording like 'adjacent' (in 9.5) when used in something that has a left and right bias (like 'floats' or 'containing block'). It should state sufficient horizontal and vertical space. > My interpretaion remains that under no circumstances should the > border box of a table (...) overlap the margin box of any floats in the > same block formatting context. > > They clearly do overlap in e.g. Opera. Agree fully. It is not good since some coders may use this technique as some unusual way to layout a page. > Hence, I believe IE is more correct than the others. If this is the case, then 9.4.1 [1] should also state that 'display: table' and 'display: table-row' also establish a new BFC since boxes with these display values also have the same behavior when beside floats. Just noticed something with 9.4.1. | Floats, absolutely positioned elements, block containers | (such as inline-blocks, table-cells, and table-captions) | that are not block boxes, and block boxes with 'overflow' | other than 'visible' (except when that value has been | propagated to the viewport) establish new block formatting | contexts for their contents. s/establish new block/establish a new block/ 1. http://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#block-formatting -- Alan Gresley http://css-3d.org/ http://css-class.com/
Received on Tuesday, 14 February 2012 04:48:36 UTC