[CSS21] Issue 185 (line boxes next to floats)

The proposal for Issue 185 (http://wiki.csswg.org/spec/css2.1#issue-185)
is:

>        Add somewhere after:
>          # However, line boxes created next to the float are shortened to
>          # make room for the margin box of the float.
>        The following:
>          | A line box is next to a float when there exists a vertical position
>          | that satisfies all of these four conditions:
>          | (a) at or below the top of the line box, (b) at or above the
>          | bottom of the line box, (c) below the top margin edge of the
>          | float, and (d) above the bottom margin edge of the float.
>          | Note: this means that floats with zero height or negative
>          | height do not move line boxes.

This defines "next to a float" to mean "on the same horizontal level as 
the float", which is a reasonable approach; but bear in mind that this 
means that a line box can be "next to" a float which doesn't intersect 
the content area in which the line box sits (for example, a float that 
is entirely inside the padding area due to negative side margin, or a 
float whose containing block doesn't intersect the containing block of 
the line box).

Accordingly, we also need to modify the sentence quoted above along the 
lines of

   | However, line boxes created next to the float are shortened <ins>as
   | necessary</ins> to make room for the margin box of the float.

since a line box might not be shortened.  This is important because 
shortened line boxes behave differently from normal line boxes, in that 
they are not permitted to overflow their containing block.  There is 
reasonably good interop showing that line boxes in the situations just 
described are /not/ regarded as shortened.

Cheers,
Anton Prowse
http://dev.moonhenge.net

Received on Sunday, 5 September 2010 08:34:33 UTC