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