Re: Issue 101 Resolution

On Wed, Oct 20, 2010 at 11:05 AM, Anton Prowse <prowse@moonhenge.net> wrote:
> On 20/10/2010 18:05, Tab Atkins Jr. wrote:
>>
>> Based on feedback in this thread, I believe that the changes I'm
>> proposing for Rules 3 and 7 are correct, except that they should be
>> phrased in terms of containing blocks.
>>
>> Rule 3 Current Text:
>> # The right outer edge of a left-floating box may not
>> # be to the right of the left outer edge of any
>> # right-floating box that is to the right of it.
>> # Analogous rules hold for right-floating elements.
>>
>> Suggested Text:
>> | The right outer edge of a left-floating box may not
>> | be to the right of the left outer edge of any
>> | right-floating box that is to the right of it and
>> | whose left outer edge is to the left of the
>> | left-floating box's containing block's right outer
>> | edge. Analogous rules hold for right-floating elements.
>
> s/right outer edge/right edge/
>
> So you're sanctioning the overlap behaviour shown by most browsers when
> rendering the test case in [1].  Is there some typographical justification
> for that behaviour, or is your decision purely pragmatic?

Pragmatic.  In the thread, you guys pointed out several browser bugs
related to rule 3 violations, but they are inconsistent and clearly
bugs (for example, FF in some cases does things "correctly" when you
load a page with a certain size, but not if you resize a page to that
size).  The one change I've made to rule 3 may not have great
theoretical justification, but it's easy to talk about and everyone
treats it consistently and interoperably.


>> Suggested text:
>> | A left-floating box that has another left-floating
>> | box to its left, where the latter box's right edge
>> | is to the right of the original left-floating box's
>> | containing block's left edge, may not have its right outer
>> | edge to the right of its containing block's right
>> | edge. (Loosely: a left float may not stick out at
>> | the right edge, unless it is already as far to the
>> | left as possible.) An analogous rule holds for
>> | right-floating elements.
>
> s/original left-floating/former/

Good catch; that makes the text cleaner.

New rule 3 text (I overcorrected for "outer edge"):
| The right outer edge of a left-floating box may not
| be to the right of the left outer edge of any
| right-floating box that is to the right of it and
| whose left outer edge is to the left of the
| left-floating box's containing block's right edge.
| Analogous rules hold for right-floating elements.

New rule 7 text (slightly cleaner):
| A left-floating box that has another left-floating
| box to its left, where the latter box's right edge
| is to the right of the former box's containing
| block's left edge, may not have its right outer
| edge to the right of its containing block's right
| edge. (Loosely: a left float may not stick out at
| the right edge, unless it is already as far to the
| left as possible.) An analogous rule holds for
| right-floating elements.

~TJ

Received on Wednesday, 20 October 2010 18:20:51 UTC