XSL-FO region-bodyОбъект
Справочное руководство по XSL-FO
Определение и использование
Объект <fo:region-body> определяет основную область страницы.
XSL-FO использует следующие элементы для определения областей страницы:
- <fo:region-body> определяет основную область
- <fo:region-before> определяет верхнюю область (колонтитул)
- <fo:region-after> определяет нижнюю область (нижний колонтитул)
- <fo:region-start> определяет левую область (левую боковую панель)
- <fo:region-end> определяет правую область (правую боковую панель)
Примечание: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.
Синтаксис
<!--
Содержимое: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: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". Они могут использоваться как шаблоны страниц для чётных и нечётных страниц.
Пример 2
Это фрагмент, извлечённый из документа XSL-FO:
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>
Приведённый выше код определяет "Simple Page Master Template" с именем "A4".
Ширина страницы составляет 297 миллиметров, а высота — 210 миллиметров.
Четыре поля страницы (верхнее поле, нижнее поле, левое поле, правое поле) все равны 1 сантиметру.
Отступ основной области равен 3 сантиметрам (со всех четырёх сторон).
Области before, after, start и end в основной области все равны 2 сантиметрам.
Ширину области body в приведённом выше примере можно вычислить, вычтя левое и правое поля и поля region-body из ширины страницы:
297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm
Обратите внимание, что области (region-start и region-end) не включены в расчёт. Как объяснялось ранее, эти области являются частью body.
Справочное руководство по XSL-FO Другие расширения