What is initial containing block? (was Re: canvas <html> <body>)

Ian Hickson responded to Sigurd Lerstad:

> > If I understand correctly, in XHTML the <html> tag is the canvas and creates
> > a block box?
> 
> The <html> element is the only child of the infinite canvas. It is whatever box 
> it is set to using the 'display' property (and hopefully in CSS2, the 'position' 
> and 'float' properties).

CSS2:9.1.2, "Containing blocks", contains the following:

    The initial containing block cannot be positioned or floated
    (i.e., user agents ignore the 'position' and 'float'
    properties for the root element)."

This needs clarification.  The question is whether the root element's box *is* the initial 
containing block or merely falls within the initial containing block.  If the root element's 
box is the initial containing block, it is natural that it must ignore 'position' and 'float'.  If 
the root element's box is not the initial containing block, 'position' and 'float' might apply, 
and that possibility should then come under discussion.

So we must resolve the conflict about initial containing blocks between CSS2:9.1.2 and 
CSS2:10.1.-- 
Etan Wexler <mailto:ewexler@stickdog.com>

Received on Sunday, 5 May 2002 11:36:18 UTC