- From: Simon Sapin <simon.sapin@kozea.fr>
- Date: Mon, 12 Nov 2012 02:16:02 +0100
- To: www-style@w3.org
Hi,
Section 5.1.2 of css3-values ED (about vw/vh/vmin/vmax) says:
# Note that Paged Media defines how the initial containing block
# transforms across varying page widths. This also affects these
# units.
The first sentence is just wrong. css3-page defines the ICB based on the
first page only, even if subsequent pages have a different size.
The issue remains: which do we want?
(1) Viewport units are based on the first page. This is easiest for
specs and implementations, but for authors it makes the units useless
with varying page size.
(I’m fine with that. The units are kind of pointless anyway in
WeasyPrint: the author always knows exactly the page size.)
(2) Viewport units are based on the current page, and get a potentially
different value on the same element if it is fragmented across pages.
(2a) The computed value of <length> remains (as currently) absolute.
This implies elements (not boxes!) having a potentially different set of
computed values for each page. This is just crazy, let’s not go there.
(2b) Viewport units are resolved in used values, not computed values.
They are treated like eg. `width: <percentage>` (as they should, they
are even called viewport-percentage units in the spec!)
This implies changing the "Computed value" line of *every* CSS property
that accepts <length>.
Note that (2a) and (2b) give the same layout: 1vw is independent of the
element it applies to or its containing block, so inheriting it as-is or
its absolute value is the same. The difference might be detectable from
JavaScript (?)
(2b) is the most work for us (working group) but the best for authors.
It is also the intended behavior of css3-values, according to the note
quoted above. If we go with that, we might want to review the concept of
"initial containing block" in paged media.
--
Simon Sapin
Received on Monday, 12 November 2012 01:16:36 UTC