On Mar 26, 2007, at 11:47, [EMAIL PROTECTED] wrote:

If I understand you correctly, what you're saying is that if the fixed positioned block's nearest ref-area is not initially visible, then the top/left/etc. properties should be taken WRT the region-viewport- area?


Almost... What I'm saying is that if the fixed-positioned block's nearest ancestor reference area is not visible, then the viewport- area will also not be visible. I've been searching around, but could not immediately find an example of a situation where a reference-area is established without an accompanying viewport- area. Regular fo:blocks generate normal block areas, which are not reference-areas...

Diving into the viewport/reference-area relation some more, I think what I could as well have said from the beginning was: If the nearest ancestor reference area is the region-reference-area, then the position of a fixed-positioned area in the viewport is initially identical to that of an absolute-positioned area.

By means of an example, if you have:

<fo:block>
  <fo:block-container absolute-position="absolute" top="5%" left="5%">
  ...</fo:block-container>
  <fo:block-container absolute-position="fixed" top="5%" left="15%">
  ...</fo:block-container>

  Rest of block
</fo:block>

Then the areas corresponding to the block-containers will be positioned at the resolved coördinates in the nearest ancestor reference area, whatever that is. In this case, the same top, slightly different left. My point: Even if the rest of the block's content gets clipped or even if the content gets clipped somewhere way above the block, both block-containers should still be rendered at the specified coördinates in the reference-area and so, initially also in the viewport-area. Those coördinates specify an absolute position in the reference-area for absolute-position="absolute" and a fixed position in the accompanying viewport-area for absolute-position="fixed".

See the light? I don't think it overcomplicates the situation, quite on the contrary. To the renderers, maybe, since many of them need to process that "relative-absolute" position into one that maps to absolute positions on the page...


Cheers,

Andreas

Reply via email to