Re: [css3-regions] regions forming stacking contexts

Hi,

To add to what I was saying:

- I believe the CSS regions spec. says something clear about absolute positioning. May be it is incomplete, but if so, I would need to understand what is missing.

If the issue/question is about the use of 'initial containing block' in the prose, the reason is that for absolute positioned elements, as per the CSS 2.1 section 10.1, the containing block is found by going up the parent chain and finding the nearest ancestor with position ’absolute’, ’relative’ or ’fixed’. If there is no ancestor, then use the 'initial containing block'. So our use of 'initial containing block' in section 4.1 is to clarify that for content flowing into regions, the ultimate containing block to use, if there is no ancestor with position 'absolute', 'relative' or 'fixed' is the box of the first region in the chain.

- May be I misunderstood Boris' point, but I believe he was pointing to implementation discrepancies in how absolute positioning is happening in different user agents. I did not read the comment as meaning that the spec. was not clear enough. In a simple text with an absolute positioned box that spans multiple pages, I do see a consistent behavior between FF and WK. Opera only prints the first page.

Cheers,
-v

On Feb 3, 2012, at 9:07 AM, Vincent Hardy wrote:

Hello,

Regarding the initial containing block, I am not sure what is missing from the spec. can you clarify? Section 4.1 is explicit:

"The edges of the first region in a region chain associated with a named flow establish the rectangle that is the initial containing block of the named flow."

So why do you think the positioning of absolute elements in undefined in the specification?

Thanks,
Vincent

On Feb 2, 2012, at 11:16 PM, Robert O'Callahan wrote:

On Thu, Feb 2, 2012 at 11:55 PM, Alex Mogilevsky <alexmog@microsoft.com<mailto:alexmog@microsoft.com>> wrote:
Different positioning for regions shouldn't be a problem though. The initial containing block for named flow is the first region. Not sure it is clearly defined now, but it is that way in paged media (first page is the ICB) and it better be same in regions. And I don't even want to think of abs pos elements in regions not being positioned inside regions (which could possibly be considered with this line of thinking).

The initial containing block is the container for the root element. I don't think we should talk about "the ICB for" content that's not the root element.

You're quite right that this is not defined now, I'm just asking for it to be defined. I'm not 100% sure what you just proposed, but it sounds like in my example you would say that all content flowing into the regions gets R1 as the default containing block for abs-pos elements. That's probably workable, but it definitely needs to be specced, and it may surprise authors that abs-pos content flowing into R2 is positioned in R1 even if R2 is also position:relative. Rendering content positioned relative to R1 in the stacking context for R2 may be interesting.

And as Boris points out, the behavior of absolute positioning with pagination is highly underspecified already. Regions just make it worse.

Received on Friday, 3 February 2012 12:14:46 UTC