Overview
TheColumn component is a layout container that arranges child components vertically. Use it to create stacked layouts and control how components are distributed vertically in your interface.
Basic usage
Parameters
int
default:"1"
Relative width compared to adjacent Columns. For example, if Column A has scale=2, and Column B has scale=1, A will be twice as wide as B.
int
default:"320"
Minimum pixel width of Column, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in a column narrower than min_width, the min_width parameter will be respected first.
Literal['default', 'panel', 'compact']
default:"'default'"
Column type. ‘default’ adds no additional styling. ‘panel’ adds a border and padding. ‘compact’ removes the gap between components.
bool
default:"True"
If False, column will be hidden.
str | None
default:"None"
An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
list[str] | str | None
default:"None"
An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
bool
default:"True"
If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
Behavior
Column scaling
When multiple Columns are placed in a Row, thescale parameter controls relative widths:
Minimum width
Columns will wrap to a new line if the screen is too narrow:Examples
Panel variant
Create a visually distinct column with a border:Compact layout
Remove spacing between components:Sidebar layout
Create a classic sidebar layout:Multi-column grid
Create a responsive grid layout:Nested columns
Combine Columns for complex layouts:Methods
update
Update the column’s properties:Notes
When Columns are nested directly within a Blocks context (not in a Row), they will appear one below the other, each taking the full width.