[xep-support] Understanding area rectangles

David Tolpin dvd at renderx.com
Fri Nov 1 19:19:02 PST 2002


> 
>    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?
> 

Eliot,

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 http://www.renderx.com/tos.html



More information about the Xep-support mailing list