[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] position= and blocks (was And operator usage in XSL)


Subject: Re: [xsl] position= and blocks (was And operator usage in XSL)
From: "john farrow" <fomailinglist@xxxxxxxxxx>
Date: Fri, 30 Jul 2004 10:15:34 +1200

Hi Eliot

My reading of 7.5.1 in the spec about absolute-position was that the
block-container was offset from the containing area, not the containing
reference area, although what you say about a block not establishing a
reference area makes sense.

In 7.2 the "containing block" is described as the nearest ancestor block
area which is not a line area, and in the definition of "left" in 7.5.5. the
offset specified by left is said to be from the "containing block", which I
take to mean the immediate parent block, not the reference area.


I have the feeling I am missing something - can you point me to somewhere
else in the spec where it says a block is positioned relative to the
containing reference area as opposed to the containing area ?


Thanks

John

----- Original Message ----- 
From: "Eliot Kimber" <ekimber@xxxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, July 30, 2004 9:46 AM
Subject: Re: [xsl] position= and blocks (was And operator usage in XSL)


> john farrow wrote:
>
> > Thats for the info Eliot.
> >
> > I have been looking at this and came up with this to place the two
blocks
> > over one another:
> >
> > <fo:block id="outer">
> >    <fo:block-container absolute-position="absolute">
> >       <fo:block>A</fo:block>
> >    </fo:block-container>
> >    <fo:block>B</fo:block>
> > </fo:block>
> >
> > I think (please correct me if I am wrong) only one block-container is
> > necessary, and it will be positioned relative to its containing area
(with
> > id="outer") so the two blocks will be over each other, and only the
second
> > fo:block is in the normal flow.
>
> This only coincidently works in your test because the block "outer"
> happens to be the first block on the page.
>
> Unfortunately, block-containers are positioned relative to the nearest
> containing reference area, which in this case is the pages region-body.
>
> fo:block does not establish a reference area so there's no way for
> block-container to be positioned relative to it.
>
> In your test, if you put a block before what is now the first block
> you'll see what I mean.
>
> Cheers,
>
> E.
> -- 
> W. Eliot Kimber
> Professional Services
> Innodata Isogen
> 9030 Research Blvd, #410
> Austin, TX 78758
> (512) 372-8122
>
> eliot@xxxxxxxxxxxxxxxxxxx
> www.innodata-isogen.com


Current Thread