---
title: Stacks
description: Shorthand helpers that build on top of our flexbox utilities to make component layout faster and easier than ever.
toc: true
added:
  version: "5.1"
---

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](https://almonk.github.io/pylon/).

<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>

## Vertical

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={`
    
First item
    
Second item
    
Third item
  
`} />

## Horizontal

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={`
    
First item
    
Second item
    
Third item
  
`} />

Using horizontal margin utilities like `.ms-auto` as spacers:

<Example class="bd-example-flex" code={`
    
First item
    
Second item
    
Third item
  
`} />

And with [vertical rules]([[docsref:/helpers/vertical-rule]]):

<Example class="bd-example-flex" code={`
    
First item
    
Second item

Third item
  
`} />

## Examples

Use `.vstack` to stack buttons and other elements:

<Example code={`
    Save changes
    Cancel
  
`} />

Create an inline form with `.hstack`:

<Example code={`
    
    Submit

    Reset
  
`} />

## CSS

<ScssDocs name="stacks" file="scss/helpers/_stacks.scss" />
