AH Formatter /
XSL Formatter
XSLT/XSL-FO/MathML TechnicsMargin / Indent |
|
| 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. |