The `align-items` value (for main axis alignment)
Wrap
Wrap is a layout component that adds a defined space between its children. It wraps its children automatically if there isn't enough space to fit any more in the same row.
Think of it as a smarter flex-wrap
with spacing
support. It works really
well with things like dialog buttons, tags, and chips.
Import#
import { Wrap, WrapItem } from "@chakra-ui/react"
- Wrap: Wrap composes the
Box
component and renders a<ul>
tag - WrapItem: WrapItem composes the
Box
component and renders the HTML<li>
tag
Usage#
In the example below, you see that the last Box
wrapped to the next line.
- Box 1
- Box 2
- Box 3
- Box 4
Change the spacing#
Pass the spacing
prop to apply consistent spacing between each child, even if
it wraps.
Pro Tip: You can pass responsive values for the spacing.
- Box 1
- Box 2
- Box 3
- Box 4
- Box 5
Change the alignment#
Pass the align
prop to change the alignment of the child along the cross axis.
- Box 1
- Box 2
- Box 3
- Box 4
- Box 5
Pass the justify
prop to change the alignment of the child along the main
axis.
- Box 1
- Box 2
- Box 3
- Box 4
- Box 5
Props#
Wrap Props#
Wrap extends Box
, so you can pass all Box
props in addition to these:
align
align
SystemProps["alignItems"]
direction
direction
The `flex-direction` value
SystemProps["flexDirection"]
justify
justify
The `justify-content` value (for cross-axis alignment)
SystemProps["justifyContent"]
shouldWrapChildren
shouldWrapChildren
If true
, the children will be wrapped in a WrapItem
boolean
spacing
spacing
The space between the each child (even if it wraps)
SystemProps["margin"]
WrapItem Props#
WrapItem composes the Box component.