- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 3 Sep 2013 10:16:05 -0700
- To: Alan Stearns <stearns@adobe.com>
- Cc: Lea Verou <lea@verou.me>, Brad Kemper <brad.kemper@gmail.com>, Håkon Wium Lie <howcome@opera.com>, www-style list <www-style@w3.org>
On Sun, Sep 1, 2013 at 7:25 PM, Alan Stearns <stearns@adobe.com> wrote: > On 9/1/13 3:24 PM, "Lea Verou" <lea@verou.me> wrote: >>Another issue I see that hasn't been discussed much in this thread is >>fragmentation. How are the rules applied if an element spreads across >>multiple pages? Ideally each rule would apply only to the fragment of the >>element in the targeted page, but I can see how that might be difficult >>to spec and/or implement. In that case, we could define it so that the >>rules apply to the entire element, based on which page its first fragment >>is on. Then authors could make sure that these elements don¹t span >>multiple pages if this behavior is undesirable (for example, you usually >>don't want sidebar blocks to span multiple pages anyway). > > There are plenty of examples of sidebars spanning multiple pages in print. > In paginated views, it's impossible to make sure elements don't span pages > when you can't control the size of the page. I think dealing with the > complexities of styling fragments of elements is necessary. >From what I can tell, the problem of styling things in pages is approximately identical to the problem of styling things in regions, no? We should just be able to define a general spec mechanism for styling information coming from multiple sources other than your parent, and then just have an appropriate grammar for pages. For the grammar, regions now just uses a normal selector to select the region container, a ::region pseudo-element to switch into its "region context", then another normal selector to select within this context. Pages need to start from an @page rule, but we don't have arbitrary selects on the left, just a single compound selector. We could do something as simple as: @page :left p { color: black; } @page :right p { color: blue; } That is, just allow complex selectors in @page, with the first compound selector applying to the page, and the rest applying to the elements in that page context. Since pages just receive a subset of the properties that elements do, this doesn't even have any weird context-mixing issues. Using the generic style-block nesting mechanism (whatever it is) would then let you style multiple things without having to retype "@page foo" over and over again. ~TJ
Received on Tuesday, 3 September 2013 17:16:53 UTC