- From: Anton Prowse <prowse@moonhenge.net>
- Date: Fri, 08 Apr 2011 08:57:09 +0200
- To: "www-style@w3.org" <www-style@w3.org>
- CC: fantasai <fantasai.lists@inkedblade.net>
On 07/04/2011 23:18, fantasai wrote: > On 04/07/2011 12:50 PM, Anton Prowse wrote: >> >> It covers all the cases, certainly. (Although you mean last /in-flow/ >> child.) But I'm not too happy about talking about the >> top edge of the collapsed margin, because 8.3.1 actually fails to >> explain where a collapsed margin sits in relation to the >> border edge positions of the elements involved. Quibbly, I know, but >> nothing in 8.3.1 says that a collapsed margin between an >> element and its last in-flow child doesn't sit /between/ the last >> child's bottom border edge and the element's bottom border >> edge, for example. Rather, we're relying on this 10.6.3 text to tell >> us that that's not the case. Hence 10.6.3 shouldn't >> define height in terms of the the top edge of a collapsed margin. >> >> 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 >> >> [CSS3 might introduce some kind of in-flow block-level element whose >> bottom margin doesn't collapse with its subsequent >> sibling's top margin. If that happens, we'll need to modify the third >> item (in the equivalent text in Basic Box Model 3) to >> say "bottom margin edge" instead of "bottom border edge" of such >> elements.] > > Ok, if we're going to be quibbly, 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 :-) "Lattermost" (which I despise but couldn't dislodge!) was an attempt to avoid ambiguity: it's possible to interpret "...of the last in-flow child whose..." as saying that the item is only applicable if the actual last in-flow child satisfies the conditions given by "whose", instead of the intended interpretation of being the, er, lattermost (latest?) child which does satisfy those conditions. But I think that the intended interpretation is the one which comes across most strongly from your wording, so let's just go with that. Cheers, Anton Prowse http://dev.moonhenge.net
Received on Friday, 8 April 2011 06:57:38 UTC