- From: Anton Prowse <prowse@moonhenge.net>
- Date: Sun, 21 Aug 2011 19:49:29 +0200
- To: "www-style@w3.org Style" <www-style@w3.org>
- CC: Christoph Päper <christoph.paeper@crissov.de>, Vincent Hardy <vhardy@adobe.com>
On 21/08/2011 19:41, Anton Prowse wrote: > 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 proposing. > > 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 didn't mean "anonymous"; I meant something like "pseudo-element". Cheers, Anton Prowse http://dev.moonhenge.net
Received on Sunday, 21 August 2011 17:50:13 UTC