Re: [css3-regions] Comments on Editor's Draft

On 06/08/2011 17:35, Christoph Päper wrote:
> Vincent Hardy:
>> Christoph Päper:
>>> nodes should not be able to pull arbitrary flows,
>>> only purely CSS-based ones – using ‘@region’ – should do that.
>>> Document nodes should only support anonymous flows that contain their DOM descendants only
>> #F {content: flow-from(myFlowName);}
>> #G {content: flow-from(thirdFlow);}
> These rulesets should not work in my opinion (as stated above).
> We can avoid cycles if “content: flow-from(foo)” only works within ‘@region’, not everywhere.
> Can you think of a valid usecase where current
>    foo {flow: bar;}
>    baz {content: flow-from(bar);
>      /* position, size etc. */}
> could not be rewritten as
>    foo {flow: bar;}
>    baz {content: none;} /* usually unnecessary */
>    @region quuz {
>         content: flow-from(bar);
>      /* position, size etc. */}
> ? Note that you would still have flows without using ‘@region’: With ‘initial’ styles you have one anonymous flow (or chain of flows), foo→bar→baz→quuz, in
>    <foo><bar><baz><quuz/></baz></bar></foo>
> and when adding
>    foo, baz  {position: static;}
>    bar, quuz {position: absolute;}
> you have two anonymous flows, :root→foo and :viewport→(bar→baz)→quuz, or three anonymous flows, :root→foo, :viewport→bar→quuz and bar→baz, if you analyze it differently. If I’m not mistaken there is currently no way to make that foo→baz and bar→quuz, i.e. remove children from, but keep grandchildren in the normal “descendant” flow.

I think I've got a blind spot here because I'm failing to understand 
what you're proposing.

When regions are permitted to be formed by DOM elements such as B, we 
have circularity when we send A, B and C to a flow and then make B the 
target of that flow.  You say (correctly) that the problem arises 
because B is allowed to be a region receiving a named flow that 
potentially contains B.  But I don't understand the alternative you're 

You want to send the name flow to a region whose selector is "quuz", but 
what does quuz match if not a DOM element?  Is it a grid cell, a column? 
  Do you intend that the matching thing always be an anonymous 
"external" box that is independent of the content it contains? (Which is 
indeed the case for a column; I don't recall in the case of grid cells.) 
  This would seem to make regions a lot less useful, though.

I expect I'm missing something!

Anton Prowse

Received on Sunday, 21 August 2011 17:42:22 UTC