Re: [CSS21] Clearance error - hypothetical border edge should be actual border edge (Was: Re: [css2.1] Issue 158 and Issue 178 Resolution)

On 08/23/2010 03:40 PM, fantasai wrote:
> On 08/17/2010 11:35 AM, Anton Prowse wrote:
>> My analysis in this thread until now has assumed that the hypothetical
>> non-zero top border is still present when performing calculation 2 (and
>> was pondered, and preferred for symmetry, in calculation 1).
>>
>> However, could it be the case that this hypothetical top border is no
>> longer physically present (and its position no longer relevant) when we
>> perform the clearance calculations?
>
> So, if I'm understanding this all correctly (which I very well might
> not), the spec changes to fix this section would be:
>
> # Computing the clearance of an element on which 'clear' is set is
> # done by first determining the hypothetical position of the element's
> # top border edge within its parent block. <del>This position is
> # determined after the top margin of the element has been collapsed
> # with previous adjacent margins (including the top margin of the
> # parent block).</del> <ins>This position is the same as the where
> # the actual top border edge would have been if the element had a
> # non-zero top border and its 'clear' property had been 'none'.</ins>
> #
> # If this hypothetical position of the element's top border edge is
> # not past the relevant floats, then clearance <del>must be</del>
> # <ins>is introduced, and margins collapse according to the rules
> # in 8.3.1.
> #
> # Then the amount of clearance is</ins> set to the greater of:
> #
> # 1. The amount necessary to place the border edge of the block even
> # with the bottom outer edge of the lowest float that is to be
> # cleared.
> # 2. <del>The amount necessary to make the sum of the following...</del>
> # <ins>The amount necessary to place the top border edge of the block
> # at its hypothetical position.</ins>

The above is editorial clarifications to how clearance works.

The error that Anton's pointing out in
   http://lists.w3.org/Archives/Public/www-style/2010Aug/0309.html
would be fixed, I believe, by sync'ing 8.3.1 and 9.5.2 by changing
"non-zero top border" to "non-zero bottom border" to be consistent
with the change introduced by CSS2.1 Issue 6
   http://wiki.csswg.org/spec/css2.1#issue-6

~fantasai

Received on Tuesday, 24 August 2010 00:46:44 UTC