AH Formatter / XSL Formatter
Q&A



XSLT/XSL-FO/MathML Technics

Margin / Indent

Top
Basic, General
About AH Formatter
About XSL Formatter
Operation
Programming
XSLT/XSL-FO/SVG/MathML Conformance
XSLT/XSL-FO/MathML Technics
Index
Q.  I set indent to a block using the 'margin-left' property. However the text in the table, and the table is the child element of the block, is also indented. Why? [No.2002101806]
A. 

It's because of the inheritance. In the W3C Recommendation, some of the properties are "inheritable" from a parent to each child. It is called [inheritance].

'margin-left' is not an inheritable property originally. However, margin-left is supposed to be converted to start-indent and start-indent is an inheritable property.

start-indent = margin-corresponding + padding-corresponding + border-corresponding-width
end-indent = margin-corresponding + padding-corresponding + border-corresponding-width

(See 5.3.2 Margin, Space, and Indent Properties in the W3C Recommendation for XSL-FO.)

Therefore when specifying margin-left (if border, padding are 0), it is the same as specifying start-indent and it is inherited inside the table.

If you don't want to let start-indent/end-indent inherited, specify start-indent="0cm" to table-body/table-header/table-footer.


Copyright © 1999-2011 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.