Skip to content

Columns Component

The Columns component creates flexible multi-column layouts.

Basic Usage

markdown
<Columns :columns="2">
  
Content for column 1

<template #col2>

Content for column 2

</template>

</Columns>

Or using the syntax sugar:

markdown
:::columns{columns="2" gap="2rem"}
First column content
+++
Second column content
:::

Examples

Two Columns

markdown
:::columns{columns="2"}
## Method A
- Advantage 1
- Advantage 2
+++
## Method B
- Advantage 1
- Advantage 2
:::

Three Columns

markdown
:::columns{columns="3" gap="1rem"}
### Step 1
Introduction
+++
### Step 2
Methods
+++
### Step 3
Results
:::

Custom Ratios

markdown
<Columns :columns="2" ratio="1:2">
  
Narrow sidebar content

<template #col2>

Wide main content area

</template>

</Columns>

Props

PropTypeDefaultDescription
columns2 | 3 | 42Number of columns (alias: cols)
gapstring | number'1.5rem'Gap between columns. If a number is provided, it is treated as rem
ratiostring-Column width ratio (e.g., '1:2', '1:1:2')
balancedbooleanfalseBalance content height across columns

Notes

  • Named slots: col2, col3, col4
  • Syntax sugar will infer columns from the number of +++ sections (max: 4)