Re: [xep-support] Understanding area rectangles

From: David Tolpin (
Date: Fri Nov 01 2002 - 19:19:02 PST

> space-before="0"
> block-before-width="2pt"
> padding-start="4pt"
> we should get this layout:
> Start edge of reference
> area's content rectangle
> :
> : Start edge of padding rectangle
> V :
> .------ :
> |.--. V
> ||xx| .---------
> ||xx| |
> ^ ^ |
> : :
> : Block's start-border end edge
> :
> Block's
> start-border
> start edge
> However, what I'm seeing is that the start edge of the inner block's
> content rectangle is adjacent to the start edge of the containing
> reference area's content rectangle, putting the start border and padding
> to the left (toward the start edge of the page) of the reference area's
> content rectangle, that is, on the start side of the containing
> reference area's content rectangle.
> Is the behavior I'm observing correct and, if so, why, given the
> referenced diagram?


Yes, the behavior you are observing with RenderX XEP (and, I hope,
with XSL Formatter which I didn't try recently since it runs under Windows
only but I know that our implementations are consistent in this respect)
is correct.

It is correct because start/end-indent are 0 by default; margins are derived
values and are set so that margin+border+padding=indent holds true.

To get stacking block as in your diagram, you either have to specify
margin="0pt" explicitly, which is not a good idea since there are no
'logical' margin properties (NO margin-before/after/start/end); or
calculate indents as sums of border+padding.

This may seem non-intuitive at a first glance, but in fact this is
a very consistent approach.

David Tolpin

By using the Service, you expressly agree to these Terms of Service

This archive was generated by hypermail 2.1.5 : Wed Dec 18 2002 - 08:41:28 PST