On Mar 20, 2007, at 21:55, Andreas L Delmelle wrote:
On Mar 20, 2007, at 17:47, Chris Bowditch wrote:
<snip />
Have you actually checked the code to see the difference in
handling between absolute-position="absolute" and absolute-
position="fixed"?
Errm, that would be a no. I've checked: a) the Recommendation and
b) the resulting output.
I never trust code. Not someone else's, but especially not my own. ;)
FWIW: re-reading the description of the value of "fixed" for absolute-
position, I think the key difference between "absolute" and "fixed"
can be made clearer by an example. It is a minor, yet possibly very
important nuance.
"In the case of continuous media, the area is fixed with respect to
the viewport (and doesn't move when scrolled)."
Suppose you are viewing the output in Adobe Reader and zoom to fit-to-
page-width. If you scroll down, a block-container with absolute-
position="absolute" would 'stick to' the page, while "fixed" would
make that same block-container "absolute-positioned" relative to the
viewport of the viewer application (until the whole page goes out of
scope?)
At least, that's what the example seems to want to point out, for
AFAICT ("Authors may wish to specify 'fixed' in a media-dependent way.")
OTOH, there is the following consequence
Leaves my original question:
What I'm still not sure about is: "Absolutely positioned areas are
taken out of the normal flow." Does that mean that percentages on
any block-container with position="absolute" should always be
based on the containing page?
I think so, but like yourself I'm not 100% certain. I think it
would certainly meet user expectations.
The counter-intuitive answer is in the second additional restriction
imposed by the XSL Rec.
"The area generated is a descendant of the page-area where the first
area from the object would have been placed had the object had
absolute-position='auto' specified."
This means that:
<fo:block-container absolute-position="absolute" top="5mm">
<fo:block>
<fo:block-container absolute-position="absolute" top="5mm">
...
is semantically equivalent to
<fo:block-container absolute-position="absolute" top="5mm">
<fo:block />
</fo:block-container>
<fo:block-container absolute-position="absolute" top="5mm">
...
The offsets are, in BOTH cases relative to the containing page,
unless absolute-position="auto".
Correct?
Cheers,
Andreas