PTC ALD in Arbortext Styler > Components of Documents and Templates > Style Components > Block Level Styling > Block Properties
Block Properties
Blocks are a flexible and versatile formatting object with plenty of properties to enable you to create the type of output you need:
fBlock.width — Width
A block’s width is a basic property which specifies how wide the block is within the parent measure.
Width can be set as an absolute value or as a percentage of the width available. The width can also be constrained so that the width applied when the block starts is used for the life of the block. You can also allow width to flex as it flows from one size frame to the next.
fBlock.horizontalAlign — Horizontal alignment
If the block’s width is smaller than the space available, the horizontal alignment can align the block to the left or right, or center it, in the space.
fBlock.orientation — Rotation
Blocks can be rotated in 90 degree measures from their default upright orientation.
This property can be used to rotate table cells.
Take care when rotating blocks used as table cells. Blocks take all the space they need unless they have a width specified. If rotated, they may make excessively tall table cells.
Property inheritance
One of the strengths of blocks is the property inheritance they provide. Any paragraph, table, or block nested within the current block can inherit formatting properties. This avoids the need to set them at every occurrence. This functionality is common in XSL-FO and CSS and is also used within Arbortext Styler.
In PTC Arbortext Layout Developer, property inheritance is provided by setting default styles on blocks. A block’s descendants inherit the properties set here. There are three main default styles:
fBlock.defaultStyle — an fStyle object that sets the default text style
fBlock.defaultParagraph — an fParagraph object that sets the default paragraph properties
fBlock.defaultTable — an fTable object that sets the default table properties
It is also possible to set default styles for the block structures by setting fBlock.defaultRow and fBlock.defaultRegion properties.
fBlock.marginTop, fBlock.marginTopPriority, fBlock.marginBottom, fBlock.marginBottomPriority, fBlock.marginLeft, fBlock.marginRight — Margins and their priorities
Use block margins to provide a gap around the block, particularly when using the side by side block functionality exposed through the avoid tools in PTC Arbortext Layout Developer blocks.
fBlock.paddingLeft, fBlock.paddingRight, fBlock.paddingTop, fBlock.paddingBottom — Padding
Padding can be applied to the top, bottom, left, and right edges of a block individually or concurrently.
fBlock.rules — Rules
Blocks can accept up to 20 separate border rules. When a block breaks over a page, it does not insert the top or bottom rules by default. This can be overridden by using the fBlock.ruleTop and fBlock.ruleBottom properties.
fBlock.backgroundColor — Colors
Blocks can set background colors on both the whole block and the regions of the block by setting this property on the default region.
Block columns are used extensively in the Arbortext Styler integration to provide the page column configuration. An PTC Arbortext Layout Developer block includes the fBlock.columns property, an array of fBlockColumn objects which describe the configuration of that column’s blocks.
The number of columns in a block is specified using the fBlock.numColumns property. The property then creates the columns array based on its value.
The column gutter property of the column specifies the space to the right of the current column before the next column.
Column widths can be specified using absolute or proportional values, for example 3*, to fill the space available.
Block columns can be instructed to balance at the end of the column using the fBlock.balanceColumns property. the fBlock.balanceBefore property allows a nested block to balance its columns before spanning across the parent’s columns.
Block keeps
fBlock.keepTogether — keep the whole block in the same column.
The property accepts a priority value ranging from 2 to 254. 1 and 255 can also be used are force on values.
fBlock.keepWithNext — keep the end of the current block with the content that follows
Other functions of keeps, widows, and orphans define what is kept together when this property is set. The property accepts similar priority values to fBlock.keepTogether.
fBlock.keepWithPrevious — keep the start of the current block with the content preceding it
Other functions of keeps, widows, and orphans define what is kept together when this property is set. The property accepts similar priority values to other keep settings.
Note that column refers to a frame column or a block column. PTC Arbortext Layout Developer does not include a page-scope keep.
fBlock.indentTab, fBlock.indentTab2 — Indents
Blocks can be used to create list item layouts using the indent properties. The indent properties specify the amount of indent for the following text as well as the position and alignment of the item label.
fBlock.avoidMe, fBlock.avoidAll, fBlock.avoidNone, fBlock.avoidPreserve, fBlock.avoidClear, fBlock.positionReset — Avoid settings
The avoid functionality implemented to support side by side layouts can also be used to provide list item labels. This group of tools specifies that the block should be avoided by content which follows, that the following text should be repositioned to the starting point of the current block, and whether to clear the avoidance.
Using this functionality with width, margin and horizontal alignment properties can provide some interesting results.
Block headers and footers
Use block headers and footers to create continued... lines, where a title may appear at the top and/or bottom of a page with some generated text. These are separate blocks declared within a block which follows or precedes a fFormatting.blockColumnHeader() or a fFormatting.blockColumnFooter() command.
PTC Arbortext Layout Developer blocks can have up to 5 levels of header and footer which can be overwritten during the lifetime of the block.
Some block region properties can also be useful:
fBlock.defaultRegion.minimumHeight — The smallest permitted height of the block region
This property can be used to control a block’s height. There is no property in PTC Arbortext Layout Developer to set the maximum height. It does not permit content to overflow the area it is given.
fBlockRegion.horizontalAlign and fBlockRegion.verticalAlign — Horizontal and vertical alignment
A block region can also control the horizontal and vertical alignment of its content. Typically paragraph properties are used to set the alignment of content, although these properties can also be useful.
fBlockRegion.rules — Rules and background color
The option to set rules and background color for block regions adds further flexibility to the block structure.