Re: [CSS21] Issue 142: the term "ancestor box"

On 8/22/10 9:19 AM, Bert Bos wrote:
> This is proposed text for issue 142[1]. Section 10.1 uses the term
> "ancestor box," by which it means the "box of an ancestor element." But
> apparently the term causes confusion. That is probably because in some
> cases and in some implementations the boxes form a tree. (CSS doesn't
> say that the boxes form a tree, only that each box is associated with an
> element and the elements form a tree.)
>
> So here is a rewrite to avoid the term. The following all occur in
> section 10.1:
>
>    - Replace the first occurrence of "ancestor box" by "ancestor
>      element".

This doesn't give correct behavior with table anonymous boxes, as far as 
I can tell.  Specifically, given this markup:

   <div id="outer">
     <div id="row" style="display: table-row">
       <div id="inner"/>
     </div>
   </div>

the proposed wording makes the "outer" div the containing block of the 
"inner" one, whereas the desired containing block, and the one all UAs 
use in practice, is the content edge of the anonymous table-cell box 
generated between the table-row and the "inner" block (which does not 
have an element associated with it, last I checked, contrary to the 
"each box is associated with an element" claim above, by the way).

I haven't thought through other possible issues so far past that.

>    - Replace the occurrence of "ancestor boxes" (in the example) by
>      "ancestor elements".
>
>    - Replace the phrase "the nearest positioned ancestor box" (at the
>      end of the example) by "the padding edge of the nearest positioned
>      ancestor".

These changes look fine.

-Boris

Received on Monday, 23 August 2010 02:22:57 UTC