Re: [css3-regions] regions forming stacking contexts

On Feb 1, 2012, at 1:48 PM, "Robert O'Callahan" <robert@ocallahan.org> wrote:

> On Wed, Feb 1, 2012 at 10:27 PM, Alex Mogilevsky <alexmog@microsoft.com> wrote:
> I probably don't know about opacity and filters...
> 
> Can you elaborate on what other things are not going to be possible with fragmented content? For example, if somebody wants to create 3d page turning effects (with transforms and shadows applied to pages separately), will it also be problematic for the reasons you are describing?
> 
> It might be possible to address the problem by somehow saying that each region renders an independent copy of the content flowed into the region. Then an element that's a stack context but split across regions would split into stacking contexts within each region. Or something like that.

I imagine it a bit like two iframes of possibly different sizes scrolled to different points of the same document. 

> Also, region formatting allows setting different background on same element in different regions. Is that also problematic if an element has to be rendered as a unit?
> 
> How's that? Are we allowing per-region styling of the flowed content now? That has all kinds of issues of its own :-).

I think it always has, and that was a big part of the appeal for creating magazine-like layouts. See figure 2 and section 1.2 in the editors draft, for instance[1], where it says, "Region styling allows content to be styled depending on the region it flows into".  Section 4.5 goes into more detail, with "Only a limited list of properties can be set in a region style rule", which are listed there. 

I think we should talk about what the issues are. I'm sure you could come up with more than I can. I see 'margin' is allowed. So, if I have enough negative top margin on something in the second region that it pops up into the first region, where it has lot of positive top margin, forcing it back into the second region, what happens? Oscillation?

This is where thinking of the two regions as  similar to independent iframes can help resolve issues. The first region determines what content is in the top left corner of the second region (any line box that couldn't vertically fit in the first, for instance, begins in the second instead, actually unlike a scrolled iframe). But that second region then acts independent of the first (just as changing the width of a second iframe doesn't change the layout in the first, even when they both contain the same auto-width content), and the negative margin doesn't pop the item back to the first region, it just moves it up. If the region is overflow:hidden (which seems to me like a good default for a region), then the item with the negative margin is clipped or even completely hidden. Given this model, I don't see why properties like 'display' and 'position' couldn't also be per-region.


[1] http://dev.w3.org/csswg/css3-regions/

Received on Thursday, 2 February 2012 06:38:03 UTC