blockElementElementElement functions can be customized with set and show rules.
set and show rules.A block-level container.
Such a container can be used to separate content, size it, and give it a background or border.
Blocks are also the primary way to control whether text becomes part of a paragraph or not. See the paragraph documentation for more details.
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),
)

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.

ParameterParameterParameters are input values for functions. Specify them in parentheses after the function name.
block(,,,fill:,,,,,,,,clip:,,)->The block's width.
Show example
#set align(center)
#block(
  width: 60%,
  inset: 8pt,
  fill: silver,
  lorem(10),
)

autoThe 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.
Show example
#set page(height: 80pt)
#set align(center)
#block(
  width: 80%,
  height: 150%,
  fill: aqua,
)

autobreakableSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
breakableset rule, changing the default value used thereafter.Whether the block can be broken and continue on the next page.
Show example
#set page(height: 80pt)
The following block will
jump to its own page.
#block(
  breakable: false,
  lorem(15),
)

trueradiusSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
radiusset rule, changing the default value used thereafter.How much to round the block's corners. See the rectangle's documentation for more details.
(:)insetSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
insetset rule, changing the default value used thereafter.How much to pad the block's content. See the box's documentation for more details.
(:)outsetSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
outsetset rule, changing the default value used thereafter.How much to expand the block's size without affecting the layout. See the box's documentation for more details.
(:)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.
Show 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.

1.2emThe spacing between this block and its predecessor.
autoThe spacing between this block and its successor.
autoclipSettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
clipset rule, changing the default value used thereafter.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.
Show example
#block(
  width: 50pt,
  height: 50pt,
  clip: true,
  image("tiger.jpg", width: 100pt, height: 100pt)
)

falsestickySettableSettableSettable parameters can be set using the set rule, changing the default value used thereafter.
stickyset rule, changing the default value used thereafter.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.
Show example
// Disable stickiness of headings.
#show heading: set block(sticky: false)
#lorem(20)
= Chapter
#lorem(10)

false