xsl-list
[Top] [All Lists]

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

2004-07-29 15:15:34
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(_at_)innodata-isogen(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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(_at_)innodata-isogen(_dot_)com
www.innodata-isogen.com

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--