Hi Andreas,

Andreas L Delmelle a écrit :
> 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...

I fully agree with you on that case. But tables for example (table-cell
objects, actually) generate reference-area without generating
viewport-areas. Also, if you have an enclosing normal-positioned
block-container around your fixed-positioned block:
<fo:block-container>
  <fo:block-container absolute-position="fixed" top="5%" left="15%">
    ...
  </fo:block-container>
</fo:block-container>
then the fixed area will be positioned WRT to the enclosing b-c's
viewport area, which may itself be clipped.
That's why I suspect that for "fixed" the ref-area to be considered
should be the region-area (for paged media), unlike for "absolute" where
this should be the nearest ancestor ref-area. There won't be any
difference in most cases excepted in the above one, where I think it
makes sense.

Agree?
Vincent

Reply via email to