Re: [css3-page] Styling elements differently based on whether they appear on a left or right page

On Jul 31, 2013, at 20:15, Brad Kemper <brad.kemper@gmail.com> wrote:
> Let us also not forget :first pages and named pages, which @page can select as easily as :left and :right. Thus, if the mechanism is an @content{} block with rulesets within, itself inside the @page{} block, then it would be a good general way of styling content based on if it appears in right/left/first/or other special pages. 

Why do we need an @content rule? I can see the issues with parsing (potentially infinite lookahead), since we faced the same issues in CSS Hierarchies. The way we resolved them in Hierarchies was to require the & before every nested selector. I think it would be more consistent if we did the same here, then & would become the universal symbol to mean "nested selector" in CSS, regardless of the nesting type.

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).

I think cluttering CSS with more values like inside/outside is a mistake. We cannot possibly foresee all the things people might want to differentiate between left or right pages. For example, in my case, one of the things I wanted to be different is border-radius. Are we going to also add things like border-top-outside-radius?! That would be ridiculous, wouldn’t it?

~Lea

Received on Sunday, 1 September 2013 22:24:52 UTC