RE: [css-regions][css-break] Nested & grouped regions breaking rules

I might be missing something, but I think the use-case you're trying to achieve can be done by setting `break-avoid: region` on the inner regions themselves while using whatever values for the break properties on the actual content being flown through these inner regions.

On the other hand, the current implementation (WebKit/Blink) might not properly treat this case yet.

Does it make sense?

Mihai Balan | Quality Engineer @ Web Engine team |  mibalan@adobe.com | +4-031.413.3653 / x83653 | Adobe Systems Romania

-----Original Message-----
From: François REMY [mailto:francois.remy.dev@outlook.com] 
Sent: Thursday, July 11, 2013 12:57 AM
To: www-style@w3.org
Cc: fantasai.lists@inkedblade.net; Rossen.Atanassov@microsoft.com
Subject: [css-regions][css-break] Nested & grouped regions breaking rules

TL/DR: Grouping all regions into a single breakable context is an issue if you use region clusters or a region hierarchy (nested regions). I propose thereafter a mechanism to help identify which region the breaking rules specified in the author stylesheet apply to.




Right now, you can only specify your desired breaking behavior relative to the kind of breakable content {page, column, region}. 

While that may cover a lot of use-cases, I came across a case where you may want to avoid breaking an element across one kind of region (let's call that the top-level region) but don't care to have it broken across sub-regions (let's call them the nested regions).

Or, and that's probably a more frequent use-case, you're forced for layout reasons to break into multiple regions one "visually unique" region (from the human point of view) and you may want your region break to act across those sub-regions (to the next major region) and not just trigger a break between them.

As far as I understand both specs, this is currently impossible.



My proposal is to add a region-cluster property which can take as value a comma-separated list of identifiers. When you specify "break-before: region(cluster-name)", the break occurs for the nearest parent region that has the "cluser-name" cluser name associated to it.

My second proposal is to specify that "break-before: region(all cluster-name)" means there's a break across the nearest parent region that has the "cluster-name" associated to it AND all the next sibling candidate regions that still have the same cluster name.

In both cases, if there's no parent region having the specified cluster-name, the break is ignored.

It may be necessary to allow multiple break conditions (in which case they're resolved the way they're now: we find the nearest location that satisfy all the breaks).



Any thought about that?
François 		 	   		  

Received on Wednesday, 24 July 2013 12:38:45 UTC