- From: Alan Stearns <stearns@adobe.com>
- Date: Mon, 27 Feb 2012 11:20:25 -0800
- To: Brad Kemper <brad.kemper@gmail.com>
- CC: Håkon Wium Lie <howcome@opera.com>, David Hyatt <hyatt@apple.com>, "www-style@w3.org Style" <www-style@w3.org>
On 2/26/12 9:45 PM, "Brad Kemper" <brad.kemper@gmail.com> wrote: > > On Feb 24, 2012, at 1:39 PM, Alan Stearns <stearns@adobe.com> wrote: > >> On 2/24/12 9:05 AM, "Brad Kemper" <brad.kemper@gmail.com> wrote: >> >>> '@slot' without any name means "page content region" (with no 'flow-from', >>> as >>> it just receives normal, mundane, non-css3-regions flow), and cannot be >>> styled >>> directly. Instead, it can contain selectors for styling normal content that >>> appears on that page. So the example would look like this: >>> >>> @page fishy { >>> @slot(sushi) { >>> position: absolute; >>> top: 0; bottom: 0; >>> right: 0; width: 10em; >>> } >>> @slot { >>> article { >>> margin-right: 11em; >>> /* meaning, on this page template, */ >>> /* add a right margin to this element */ >>> } >>> } >>> @page { /* default for page 2 */ } >>> aside { flow-to: sushi } >>> article { /* no flow-to, so goes to all pages as normal */ } >>> >>> I suppose we might also need a special property for use within @page that >>> means "don't accept normal flow on this page, and only accept region flow >>> instead". >> >> In terms of using names to associate content with slots, we already have >> named flow idents from css3-regions to use. So your slot-content-assignment >> syntax could change to something like this (I'm adding an element property >> to associate the article element(s) with one or more paginated templates) >> >> @page fishy { >> @slot { >> /* positioning */ >> flow-from: sushi; >> } >> @slot { >> /* positioning */ >> /* no content or flow-from declaration, so use normal flow */ >> } >> } >> aside { flow-into: sushi; } >> article { master-template: fishy; } >> >> If a slot has no content assigned to it with the 'content' or 'flow-from' >> properties, then it defaults to normal flow. You can create a paginated >> template that does not accept normal flow by making sure that each slot has >> assigned content. > > I considered that, but it seemed to me that the slots should be named (or at > least numbered), so that they could be uniquely identified. Then they could be > cascaded to a certain extent, so that if the same slot was written twice, the > later one would win, or so that if '@page fishy :first' overrode '@page > fishy', you would know which slot was which by their name, so that they could > thus be overridden too. I expect that we should be able to name slots, but I'm not sure it should be required. > This would also mean that you could only end up with one 'normal flow' slot, > which I think is a good thing. That could be a good thing, or we could define multiple 'normal flow' slots as making up a region chain for the content. > I also liked the idea that they slot name not only identifies the slot, but at > the same time identifies it with a flow, so that authors don't end up having > to think of separate names for each. Some authors might choose the same name > anyway, and some wouldn't, and that would make the style sheets harder to > understand, especially for a learner. It does mean that the slot would need to > ignore the 'flow-from' property in them, and that property would only be used > for non-paged purposes (which I suspect would be a minority usage of regions). Using a unique slot name to associate the slot with a named flow isn't workable. We need to have a way of associating more than one slot with the same named flow in a single template. Thanks, Alan
Received on Monday, 27 February 2012 19:21:08 UTC