XSL-FO region-body 對象

2018-02-23 10:40 更新

XSL-FO region-body 對象

XSL-FO 參考手冊 XSL-FO 參考手冊

使用 XSL-FO 的時候,一個頁面的主體區(qū)域是通過 region-body 對象定義的。


定義和用法

<fo:region-body> 對象定義了頁面的主體區(qū)域。

XSL-FO 使用下列元素來定義頁面的區(qū)域:

  • <fo:region-body> 定義了主體區(qū)域
  • <fo:region-before> 定義了頂部區(qū)域(頁眉)
  • <fo:region-after> 定義了底部區(qū)域(頁腳)
  • <fo:region-start> 定義了左部區(qū)域(左側(cè)欄)
  • <fo:region-end> 定義了右部區(qū)域(右側(cè)欄)

注意:region-before、region-after、region-start 以及 region-end 都是 region-body 的一部分。為了避免 region-body 內(nèi)的文本覆蓋其它區(qū)域的文本, region-body 的邊距至少必須與上述四個子區(qū)域的尺寸相同。

提示:為了在 region-body 區(qū)提供多個列, 需要把 column-count 屬性設(shè)置為大于 1!/p>

注意:如果 overflow 屬性的值為 "scroll",則您不能把 column-count 屬性設(shè)置為大于 1!

注意:根據(jù) 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  

實例 1

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"。它們可作為偶數(shù)和奇數(shù)頁碼的頁面模板使用。

實例 2

這是從某個 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 區(qū)均為 2 厘米。

上面的實例中的主體的寬度可通過頁面寬度減去左右邊距以及 region-body 的邊距來計算得出:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm

請注意,region(region-start 和 region-end)沒有被計算進來。正如之前講解過的,這些區(qū)(region)是主體的組成部分。


XSL-FO 參考手冊 XSL-FO 參考手冊
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號