non-positive height floats Re: [CSSWG] Minutes and Resolutions 2010-08-11

On Wed, Aug 11, 2010 at 01:30:37PM -0700, fantasai wrote:

>       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.

I suggest "strictly below/above", just to make sure.

>         | Note: this means that floats with zero height or negative
>         | height do not move line boxes.

I'm uncomfortable with this text, which might be read normatively.

If a float has clearance, then it might be pushed to the next page; in which
case it would be quite reasonable and desirable and existing practice, for a
high-quality renderer to adjust line breaking choices etc. such that the
placeholder is on the same page as the float.  So the text around the
placeholder has a different position depending on whether or not the float is
in fact present, so I would be inclined to say that the float did "move line
boxes".

(I'm also not completely confident that there aren't other ways that presence
or absence of the float can affect where line boxes are, maybe something to do
with margin collapsing.  Even if in fact there are no other ways it could move
line boxes, we don't want implementors to waste time analysing the question.)

So I suggest:

  - Putting the note in a parenthesis, to clarify that it's not normative.
    (I suggest this despite the "All notes are informative only." sentence in
    section 1.4.4.)
    
  - Rewording to "are not considered next to any line boxes, and thus do not
    cause any line boxes to shorten.)"

pjrm.

Received on Thursday, 12 August 2010 02:14:55 UTC