- From: Sylvain Galineau <sylvaing@microsoft.com>
- Date: Wed, 1 Dec 2010 20:37:42 +0000
- To: "www-style@w3.org" <www-style@w3.org>
This is a follow-up on the issue raised by Gérard Talbot back in July [1]. It turned into ISSUE-185 [2] and was resolved per David's proposal [3] the following month. I'd like to clarify this resolution, however, as I am not sure I understand how one establishes where the margin edges of a zero-height float are for the purpose of deciding whether or not it is next to a linebox. Quick summary: first, per 9.5 [4]: ...line boxes created next to the float are shortened to make room for the margin box of the float. We also know that margin box height depends on content-height + top and bottom padding, borders and margins. Thus a float with height:0px should be equivalent for linebox shortening purposes to any other float with a margin box height of 0px e.g. : <div> The Test <div style="float:left; width:50px; height:25px; margin-top:-25px;background-color:blue"></div> </div> In this case the float's margin box height is zero and the line box does not need to get shortened as result; all browsers agree and the 'The Test' ends up below the blue float i.e. we get something like this (A): ##### The Test But clearly not this (B): ##### The Test It can also be argued that A is what authors expect. Thus : <div> The Test <div style="float:left;width:50px; height:0px;"></div> </div> ...also results in a margin box height of 0px for the float and would thus resolve the length and position of the line box as in A. Is this correct ? [1] http://lists.w3.org/Archives/Public/www-style/2010Jul/0527.html [2] http://wiki.csswg.org/spec/css2.1#issue-185 [3] http://lists.w3.org/Archives/Public/www-style/2010Aug/0178.html [4] http://www.w3.org/TR/CSS21/visuren.html#floats
Received on Wednesday, 1 December 2010 20:38:16 UTC