Documentation

blockElement
Question mark

A block-level container.

Such a container can be used to separate content, size it, and give it a background or border.

Examples

With a block, you can give a background to content while still allowing it to break across multiple pages.

#set page(height: 100pt)
#block(
  fill: luma(230),
  inset: 8pt,
  radius: 4pt,
  lorem(30),
)
Preview Preview

Blocks are also useful to force elements that would otherwise be inline to become block-level, especially when writing show rules.

#show heading: it => it.body
= Blockless
More text.

#show heading: it => block(it.body)
= Blocky
More text.
Preview

Parameters
Question mark

width
auto or relative
Settable
Question mark

The block's width.

Default: auto

View example
#set align(center)
#block(
  width: 60%,
  inset: 8pt,
  fill: silver,
  lorem(10),
)
Preview

height
auto or relative or fraction
Settable
Question mark

The block's height. When the height is larger than the remaining space on a page and breakable is true, the block will continue on the next page with the remaining height.

Default: auto

View example
#set page(height: 80pt)
#set align(center)
#block(
  width: 80%,
  height: 150%,
  fill: aqua,
)
Preview Preview

breakable
bool
Settable
Question mark

Whether the block can be broken and continue on the next page.

Default: true

View example
#set page(height: 80pt)
The following block will
jump to its own page.
#block(
  breakable: false,
  lorem(15),
)
Preview Preview

fill
none or color or gradient or pattern
Settable
Question mark

The block's background color. See the rectangle's documentation for more details.

Default: none

stroke
none or length or color or gradient or stroke or pattern or dictionary
Settable
Question mark

The block's border color. See the rectangle's documentation for more details.

Default: (:)

radius
relative or dictionary
Settable
Question mark

How much to round the block's corners. See the rectangle's documentation for more details.

Default: (:)

inset
relative or dictionary
Settable
Question mark

How much to pad the block's content. See the box's documentation for more details.

Default: (:)

outset
relative or dictionary
Settable
Question mark

How much to expand the block's size without affecting the layout. See the box's documentation for more details.

Default: (:)

spacing
relative or fraction
Settable
Question mark

The spacing around the block. When auto, inherits the paragraph spacing.

For two adjacent blocks, the larger of the first block's above and the second block's below spacing wins. Moreover, block spacing takes precedence over paragraph spacing.

Note that this is only a shorthand to set above and below to the same value. Since the values for above and below might differ, a context block only provides access to block.above and block.below, not to block.spacing directly.

This property can be used in combination with a show rule to adjust the spacing around arbitrary block-level elements.

Default: 1.2em

View example
#set align(center)
#show math.equation: set block(above: 8pt, below: 16pt)

This sum of $x$ and $y$:
$ x + y = z $
A second paragraph.
Preview

above
auto or relative or fraction
Settable
Question mark

The spacing between this block and its predecessor.

Default: auto

below
auto or relative or fraction
Settable
Question mark

The spacing between this block and its successor.

Default: auto

clip
bool
Settable
Question mark

Whether to clip the content inside the block.

Clipping is useful when the block's content is larger than the block itself, as any content that exceeds the block's bounds will be hidden.

Default: false

View example
#block(
  width: 50pt,
  height: 50pt,
  clip: true,
  image("tiger.jpg", width: 100pt, height: 100pt)
)
Preview

sticky
bool
Settable
Question mark

Whether this block must stick to the following one, with no break in between.

This is, by default, set on heading blocks to prevent orphaned headings at the bottom of the page.

Default: false

View example
// Disable stickiness of headings.
#show heading: set block(sticky: false)
#lorem(20)

= Chapter
#lorem(10)
Preview Preview

body
none or content
Positional
Question mark
Settable
Question mark

The contents of the block.

Default: none