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

Reply via email to