Re: [CSS2.1] Yet another white-space issue with anonymous table objects

Michael Jansson wrote:
>     * My first assumption is that the space between the DIVs would
>       reside in an an anonymous block.

Yes.  This is explicitly covered by section 9.2.1.1 of CSS 2.1.

>     * Second assumption, SGM section 7.6.1 states that leading and
>       trailing blanks should be removed in this block, so the anonymous
>       block should in fact be treated as an empty anonymous block element.

I'm not sure what "SGM section 7.6.1" is, but section 16.6.1 of CSS2.1 
gives the same effect.

>     * Third assumption is that empty anonymous block elements should not
>       be rendered (does not have a margin, padding, etc) and should thus
>       not affect rendering of any sibling elements.

This assumption seems to have no basis in the CSS2.1 specification.  If 
this is the desired behavior, then it needs to be actually specified 
somewhere, explicitly.

But even if I grant this assumption, this brings us to a slightly 
different testcase:

<!DOCTYPE html>
<html>
   <body>
     <div style="display: table-cell">A</div>
     <div style="position: absolute"></div>
     <div style="display: table-cell">B</div>
   </body>
<html>

In this case, the way CSS2.1 is written right now, are the two 
table-cell boxes are sibling boxes (since the positioned div is taken 
out of flow)?  If not, how is this situation different from the one with 
the empty anonymous block above?

Perhaps the real issue here is the term "sibling" as used in discussing 
anonymous boxes of various sorts, is never defined.  Further, the 
creation of the box model from the DOM tree is either quite 
underspecified (including various unstated rules like the one for empty 
anonymous blocks suggested above) or quite different from what section 
17.2.1 expects if taken at face value.

-Boris

Received on Monday, 9 March 2009 19:37:51 UTC