使用 XSL-FO 的时候,一个页面的主体区域是通过 region-body 对象定义的。
<fo:region-body> 对象定义了页面的主体区域。
XSL-FO 使用下列元素来定义页面的区域:
注意:region-before、region-after、region-start 以及 region-end 都是 region-body 的一部分。为了避免 region-body 内的文本覆盖其它区域的文本, region-body 的边距至少必须与上述四个子区域的尺寸相同。
提示:为了在 region-body 区提供多个列, 需要把 column-count 属性设置为大于 1!/p>
注意:如果 overflow 属性的值为 "scroll",则您不能把 column-count 属性设置为大于 1!
注意:根据 XSL-FO 1.0 版本的推荐标准,padding 和 border-width 属性必须为 0。
<fo:region-body>
<!--
Contents:EMPTY
-->
</fo:region-body>
属性 [A-B] | 属性 [C-Z] |
---|---|
background-attachment | clip |
background-color | column-count |
background-image | column-gap |
background-repeat | display-align |
background-position-horizontal | end-indent |
background-position-vertical | margin-bottom |
border-after-color | margin-left |
border-after-style | margin-right |
border-after-width | margin-top |
border-before-color | overflow |
border-before-style | padding-after |
border-before-width | padding-before |
border-bottom-color | padding-bottom |
border-bottom-style | padding-end |
border-bottom-width | padding-left |
border-end-color | padding-right |
border-end-style | padding-start |
border-end-width | padding-top |
border-left-color | region-name |
border-left-style | reference-orientation |
border-left-width | space-after |
border-right-color | space-before |
border-right-style | writing-mode |
border-right-width | |
border-start-color | |
border-start-style | |
border-start-width | |
border-top-color | |
border-top-style | |
border-top-width |
XSL-FO 使用名为 "Page Masters" 的页面模板来定义页面的布局。每个模板必须拥有一个唯一的名称:
<fo:simple-page-master master-name="intro">
<fo:region-body margin="5in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="left">
<fo:region-body margin-left="2in" margin-right="3in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="right">
<fo:region-body margin-left="3in" margin-right="2in" />
</fo:simple-page-master>
在上面的实例中,三个 <fo:simple-page-master> 元素,定义了三个不同的模板。每个模板(page-master)都有不同的名称。
第一个模板名为 "intro"。它可作为介绍页面的模板使用。
第二个和第三个模板名为 "left" 和 "right"。它们可作为偶数和奇数页码的页面模板使用。
这是从某个 XSL-FO 文档中提取的一个片断:
<fo:simple-page-master master-name="A4"
page-width="297mm" page-height="210mm"
margin-top="1cm" margin-bottom="1cm"
margin-left="1cm" margin-right="1cm">
<fo:region-body margin="3cm"/>
<fo:region-before extent="2cm"/>
<fo:region-after extent="2cm"/>
<fo:region-start extent="2cm"/>
<fo:region-end extent="2cm"/>
</fo:simple-page-master>
上面的代码定义了一个名称为 "A4" 的 "Simple Page Master Template"。
页面的宽度是 297 毫米,高度是 210 毫米。
页面的四个边距(上边距、下边距、左边距、右边距)均为 1 厘米。
主体的边距是 3 厘米(四个边都是)。
主体的 before、after、start 以及 end 区均为 2 厘米。
上面的实例中的主体的宽度可通过页面宽度减去左右边距以及 region-body 的边距来计算得出:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
请注意,region(region-start 和 region-end)没有被计算进来。正如之前讲解过的,这些区(region)是主体的组成部分。
XSL-FO single-page-master-reference 对象XSL-FO 参考手册定义和用法 fo:single-page-master-reference 对象为用在页面序列的给...
XSL-FO keep-with-next 属性 XSL-FO 参考手册定义和用法 keep-with-next属性在XSL-FO对象中创建keep-with-next 条件。详情继承性...
XML Schema any 元素 完整 XML Schema 参考手册定义和用法 any 元素使创作者可以通过未被 schema 规定的元素来扩展 XML 文档。 ...
XQuery 选择 和 过滤 本节介绍 XQuery 中如何选择与过滤元素。 XML实例文档 我们将在下面的例子中继续使用这个 "books.xml" 文档...
XSLT xsl:preserve-space和 xsl:strip-space 元素在 XSLT 中,这两个元素都与空白元素相关,请参考本节的内容。 完整的 XSLT 元...