site/src/content/docs/helpers/stacks.mdx
Stacks offer a shortcut for applying a number of flexbox properties to quickly and easily create layouts in Bootstrap. All credit for the concept and implementation goes to the open source Pylon project.
<Callout type="warning"> **Heads up!** Support for gap utilities with flexbox isn’t available in Safari prior to 14.5, so consider verifying your intended browser support. Grid layout should have no issues. [Read more](https://caniuse.com/flexbox-gap). </Callout>Use .vstack to create vertical layouts. Stacked items are full-width by default. Use .gap-* utilities to add space between items.
<Example class="bd-example-flex" code={`<div class="vstack gap-3"> <div class="p-2">First item</div> <div class="p-2">Second item</div> <div class="p-2">Third item</div>
</div>`} />Use .hstack for horizontal layouts. Stacked items are vertically centered by default and only take up their necessary width. Use .gap-* utilities to add space between items.
<Example class="bd-example-flex" code={`<div class="hstack gap-3"> <div class="p-2">First item</div> <div class="p-2">Second item</div> <div class="p-2">Third item</div>
</div>`} />Using horizontal margin utilities like .ms-auto as spacers:
<Example class="bd-example-flex" code={`<div class="hstack gap-3"> <div class="p-2">First item</div> <div class="p-2 ms-auto">Second item</div> <div class="p-2">Third item</div>
</div>`} />And with vertical rules:
<Example class="bd-example-flex" code={`<div class="hstack gap-3"> <div class="p-2">First item</div> <div class="p-2 ms-auto">Second item</div> <div class="vr"></div> <div class="p-2">Third item</div>
</div>`} />Use .vstack to stack buttons and other elements:
<Example code={`<div class="vstack gap-2 col-md-5 mx-auto"> <button type="button" class="btn btn-secondary">Save changes</button> <button type="button" class="btn btn-outline-secondary">Cancel</button>
</div>`} />Create an inline form with .hstack:
<Example code={`<div class="hstack gap-3"> <input class="form-control me-auto" type="text" placeholder="Add your item here..." aria-label="Add your item here..."> <button type="button" class="btn btn-secondary">Submit</button> <div class="vr"></div> <button type="button" class="btn btn-outline-danger">Reset</button>
</div>`} />