- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Wed, 04 Sep 2013 01:34:34 +0900
- To: Lea Verou <lea@verou.me>
- Cc: Brad Kemper <brad.kemper@gmail.com>, Alan Stearns <stearns@adobe.com>, Håkon Wium Lie <howcome@opera.com>, www-style list <www-style@w3.org>
Lea Verou <lea@verou.me> wrote on 2013/09/02 7:24:19 > 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. ... > 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? ... > 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? Hello, I would like to propose another approach: Use CSS Variables[1] with @page :left/:right. [1] http://www.w3.org/TR/css-variables-1/ An example: @page :left { var-foo: 2em 0.5em 0.5em 2em; } @page :right { var-foo: 0.5em 2em 2em 0.5em; } div { border-radius: var(foo); } The problem here is that the 'var(foo)' cannot refer the custom property 'var-foo' value set in the @page context according to the current spec. We need to allow this usage, or to define another notation to refer the custom property values set in the @page context, e.g.: div { border-radius: from-page-context(var-foo); } Here the from-page-context() function retrieves the property value that the argument matches the property name, which can be custom (var-*) or normal properties, e.g.: @page :left { color: blue; var-foo: 2em 0.5em 0.5em 2em; } @page :right { color: green; var-foo: 0.5em 2em 2em 0.5em; } div { color: from-page-context(color); border-radius: from-page-context(var-foo); } The concept of the from-page-context() function is similar to the from-page-master-region() function defined in the XSL-FO[2], although this XSL-FO's function only accepts very limited properties, and no custom properties, for now. [2] http://www.w3.org/TR/xsl/ Regards, Shinyu Murakami Antenna House
Received on Tuesday, 3 September 2013 16:34:58 UTC