Re: [CSS21] Disposition of Comments (Issue 225, 229 etc)

On 08/04/2011 08:57, Anton Prowse wrote:
> On 07/04/2011 23:18, fantasai wrote:
>> On 04/07/2011 12:50 PM, Anton Prowse wrote:

>>> How about:
>>>
>>> | If the element has children, its height is the distance from its
>>> | top content edge to the first applicable of the following:
>>> | * the bottom edge of the last line box, if the box establishes a
>>> | inline formatting context with one or more lines
>>> | * the bottom edge of the bottom (possibly collapsed) margin of
>>> | its last in-flow child, if the child's bottom margin does not
>>> | collapse with the element's bottom margin
>>> | * the bottom border edge of the lattermost in-flow child whose top
>>> | and bottom margins do not collapse
>>> | * zero, otherwise

>> [...] here's an update that avoids "lattermost":
>>
>> Replace the third and fourth paragraphs of 10.6.3 with:
>>
>> | The element's height is the distance from its top content edge to the
>> | first applicable of the following:
>> | * the bottom edge of the last line box, if the box establishes a
>> | inline formatting context with one or more lines
>> | * the bottom edge of the bottom (possibly collapsed) margin of
>> | its last in-flow child, if the child's bottom margin does not
>> | collapse with the element's bottom margin
>> | * the bottom border edge of the last in-flow child whose top
>> | margin doesn't collapse with the element's bottom margin
>> | * zero, otherwise
>>
>> Do we win yet? :)
>
> Yeah, go on then :-)

Although we iterated to this solution as an agreeable rewording of my 
original proposal in [1], unfortunately I've now noticed that this new 
wording – which became the resolution to Issue 225 and was added to the 
spec – is an unfaithful representation of the original proposal and 
hence is incorrect. :-(

A parent whose final two in-flow children consist of a self-collapsing 
element C with clearance followed by a self-collapsing element without 
clearance has its bottom content edge incident with the bottom *margin* 
edge of C not the bottom *border* edge of C, so (3) is wrong.

In the spirit of the editorial format above, I think that a correct 
rewording of the original proposal would be to replace (2) and (3) above 
as follows:

   | 2.  the bottom border edge of the last in-flow child whose
   |     bottom margin but not top margin collapses with the
   |     element's bottom margin
   | 3.  the bottom margin edge of the last in-flow child whose
   |     bottom margin does not collapse with the element's
   |     bottom margin

I've filed this at https://www.w3.org/Bugs/Public/show_bug.cgi?id=15777#c2

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

Received on Saturday, 4 February 2012 12:59:44 UTC