Re: [css3-values] viewport units (vw/vh/vmin/vmax) and @page rules

Le 11/11/2012 22:14, L. David Baron a écrit :
> So, if we have:
>
>    @page {
>      margin-left: 10vw;
>    }
>
> should:
>    (1) the user-agent try to solve the relevant equations to find a
>    valid size for the page box given the margins?  (This seems like
>    it might be doable in a few of the simple cases, but certainly
>    isn't solvable in general.)
>
>    (2) the declaration be ignored?
>
>    (3) the declaration be treated as some other particular value
>    (e.g., '0', 'auto')?

A concrete proposal for 2:

Viewport units (vw/vh/vmin/vmax) are not allowed in the following 
properties:

- size
- margin-*
- border-*-width
- padding-*
- width
- height

when used directly inside @page. (They are allowed in page-margin boxes 
or future at-rules inside @page.) If used anyway, the declaration is 
invalid and ignored with the usual cascading rules.


This covers the most obvious cases, but is not enough. Consider:

     @page { font-size: 1vw; width: 50em }

This one can be fixed by adding font-size to the list of properties 
above, or adding font-based units to the list of forbidden units.


Also, the page context inherits from the root element:

     :root { width: 50vw }
     @page { width: inherit }

     :root { width: auto; margin: 10vw }
     @page { width: inherit }

     :root { font-size: 1vw }
     @page { width: 50em }

I don’t know what to do about these, short of having the page context 
*not* inherit from anything.


Ideas?

-- 
Simon Sapin

Received on Thursday, 15 November 2012 13:20:41 UTC