Stack
#
Quickly layout components through Flexbox, support vertical and horizontal stacking, support custom spacing and wrap.
Import
#
import { Stack, HStack, VStack } from 'rsuite';
<Stack> Use to stack elements horizontally or vertically.
<HStack> Use to stack elements horizontally. 
<VStack> Use to stack elements vertically. 
Examples
#
Horizontal
#
Props
#
<Stack>
#
| Property |
Type(default) |
Description |
| alignItems |
'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' |
Define the alignment of the children in the stack on the cross axis |
| as |
React.ElementType |
Custom component for the root element |
| childrenRenderMode |
'clone' | 'wrap' |
The render mode of the children |
| classPrefix |
string ('stack') |
The prefix of the component CSS class |
| direction |
'row' | 'row-reverse' | 'column' | 'column-reverse' |
The direction of the children in the stack |
| divider |
ReactNode |
Add an element between each child |
| justifyContent |
'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' |
Define the alignment of the children in the stack on the inline axis |
| spacing |
number | string |
Define the spacing between immediate children |
| wrap |
boolean |
Define whether the children in the stack are forced onto one line or can wrap onto multiple lines |
<Stack.Item>
#
| Property |
Type(default) |
Description |
| alignSelf |
'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' |
Define the alignment of the Item in the stack |
| basis |
string |
Define the initial main size of the item |
| flex |
string | number |
Define the item will grow or shrink to fit the space available in its flex container |
| grow |
string | number |
Define the item grow factor of a flex item main size |
| order |
number |
Define the order of the item in the stack |
| shrink |
number |
Define the item shrink factor of a flex item |
<HStack>
#
| Property |
Type(default) |
Description |
| alignItems |
'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' |
Define the alignment of the children in the stack on the cross axis |
| childrenRenderMode |
'clone' | 'wrap' ('clone') |
The render mode of the children. |
| classPrefix |
string ('stack') |
The prefix of the component CSS class |
| divider |
ReactNode |
Add an element between each child |
| justifyContent |
'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' |
Define the alignment of the children in the stack on the inline axis |
| reverse |
boolean |
Reverse the order of the children in the stack |
| spacing |
number | string (6) |
Define the spacing between immediate children |
| wrap |
boolean |
Define whether the children in the stack are forced onto one line or can wrap onto multiple lines |
<VStack>
#
| Property |
Type(default) |
Description |
| alignItems |
'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline' ('flex-start') |
Define the alignment of the children in the stack on the cross axis |
| childrenRenderMode |
'clone' | 'wrap' ('clone') |
The render mode of the children. |
| classPrefix |
string ('stack') |
The prefix of the component CSS class |
| divider |
ReactNode |
Add an element between each child |
| justifyContent |
'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' |
Define the alignment of the children in the stack on the inline axis |
| reverse |
boolean |
Reverse the order of the children in the stack |
| spacing |
number | string (6) |
Define the spacing between immediate children |
| wrap |
boolean |
Define whether the children in the stack are forced onto one line or can wrap onto multiple lines |