XSL-FO Blocks (blocks)
- Forrige side XSLFO Side
- Næste side XSLFO Liste
The output of XSL-FO is located in the block area.
XSL-FO pages, flows, and blocks
Content 'blocks' flow into 'pages' and are then output to the medium.
XSL-FO output is usually nested within <fo:block> elements, which are nested within <fo:flow> elements, and <fo:flow> elements are nested within <fo:page-sequence> elements:
<fo:page-sequence> <fo:flow flow-name="xsl-region-body"> <fo:block> <!-- Output goes here --> </fo:block> </fo:flow> </fo:page-sequence>
块区域的属性
块是位于矩形框中的输出序列:
<fo:block border-width="1mm"> 这个输出块周围有一条1毫米的边框。 </fo:block>
由于块区域是矩形框,所以可以共享许多公共的区域属性:
- space before 和 space after
- margin
- border
- padding
- space before
图示:

space before 和 space after 是块与块之间起分割作用的空白。
margin 是块外侧的空白区域。
border 的区域外部边缘的矩形。其四个边均可有不同的宽度。它也可以被填充为不同的颜色和背景图像。
padding 是位于内容区域与边框之间的区域。
内容区域可以包含实际的内容,例如文本、图片、图形等。
块边距
- margin
- margin-top
- margin-bottom
- margin-left
- margin-right
块边框
边框样式属性:
- border-style
- border-before-style
- border-after-style
- border-start-style
- border-end-style
- border-top-style (liges med border-before)
- border-bottom-style (liges med border-after)
- border-left-style (liges med border-start)
- border-right-style (liges med border-end)
边框颜色属性:
- border-color
- border-before-color
- border-after-color
- border-start-color
- border-end-color
- border-top-color (liges med border-before)
- border-bottom-color (liges med border-after)
- border-left-color (等同于 border-start)
- border-right-color (等同于 border-end)
边框宽度属性:
- border-width
- border-before-width
- border-after-width
- border-start-width
- border-end-width
- border-top-width (等同于 border-before)
- border-bottom-width (等同于 border-after)
- border-left-width (等同于 border-start)
- border-right-width (等同于 border-end)
块填充
- padding
- padding-before
- padding-after
- padding-start
- padding-end
- padding-top (等同于 padding-before)
- padding-bottom (等同于 padding-after)
- padding-left (等同于 padding-start)
- padding-right (等同于 padding-end)
块背景
- background-color
- background-image
- background-repeat
- background-attachment (scroll 或者 fixed)
块样式属性:
块是可被单独样式化的输出序列:
<fo:block font-size="12pt" font-family="sans-serif"> This block of output will be written in a 12pt sans-serif font. </fo:block>
字体属性:
- font-family
- font-weight
- font-style
- font-size
- font-variant
文本属性:
- text-align
- text-align-last
- text-indent
- start-indent
- end-indent
- wrap-option (定义自动换行,word wrap)
- break-before (定义分页符,page breaks)
- break-after (definerer sidebrydninger)
- reference-orientation (definerer tekstrotation inden for 90")
Eksempel
<fo:block font-size="14pt" font-family="verdana" color="red" space-before="5mm" space-after="5mm"> W3School </fo:block> <fo:block text-indent="5mm" font-family="verdana" font-size="12pt" space-before="5mm" space-after="5mm"> På CodeW3C.com vil du finde alle de webbygningstutorials, du behov, fra grundlæggende HTML og XHTML til avanceret XML, XSL, Multimedie og WAP. </fo:block>
Resultat:

Se eksemplet ovenfor, hvis du vil generere et dokument med mange titler og afsnit, så vil det kræve meget kode.
Normalt kombinerer XSL-FO-dokumenter ikke formateringsinformation og indhold som vi gjorde netop nu.
Med lidt hjælp fra XSLT kan vi indsætte formateringsinformation i skabeloner og derefter skrive renere indhold.
Du vil i de efterfølgende kapitler af denne vejledning lære, hvordan du bruger XSLT-mønstre til at kombinere XSL-FO.
- Forrige side XSLFO Side
- Næste side XSLFO Liste