diff options
Diffstat (limited to 'site')
| -rw-r--r-- | site/content/docs/5.0/helpers/stacks.md | 82 | ||||
| -rw-r--r-- | site/data/sidebar.yml | 1 |
2 files changed, 83 insertions, 0 deletions
diff --git a/site/content/docs/5.0/helpers/stacks.md b/site/content/docs/5.0/helpers/stacks.md new file mode 100644 index 000000000..41c0ac546 --- /dev/null +++ b/site/content/docs/5.0/helpers/stacks.md @@ -0,0 +1,82 @@ +--- +layout: docs +title: Stacks +description: Shorthand helpers that build on top of our flexbox utilities to make component layout faster and easier than ever. +group: helpers +toc: true +--- + +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/). + +## Vertical + +Use `.vstack` to create vertical layouts. Stacked items are full-width by default. Use `.gap-*` utilities to add space between items. + +{{< example >}} +<div class="vstack gap-3"> + <div class="bg-light border">First item</div> + <div class="bg-light border">Second item</div> + <div class="bg-light border">Third item</div> +</div> +{{< /example >}} + +## 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 >}} +<div class="hstack gap-3"> + <div class="bg-light border">First item</div> + <div class="bg-light border">Second item</div> + <div class="bg-light border">Third item</div> +</div> +{{< /example >}} + +Using horizontal margin utilities like `.ms-auto` as spacers: + +{{< example >}} +<div class="hstack gap-3"> + <div class="bg-light border">First item</div> + <div class="bg-light border ms-auto">Second item</div> + <div class="bg-light border">Third item</div> +</div> +{{< /example >}} + +<div class="d-flex" style="height: 200px;"> +<div class="vr"></div> +</div> + +{{< example >}} +<div class="hstack gap-3"> + <div class="bg-light border">First item</div> + <div class="bg-light border ms-auto">Second item</div> + <div class="vr"></div> + <div class="bg-light border">Third item</div> +</div> +{{< /example >}} + +## Examples + +Use `.vstack` to stack buttons and other elements: + +{{< example >}} +<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> +{{< /example >}} + +Create an inline form with `.hstack`: + +{{< example >}} +<div class="hstack gap-3"> + <input class="form-control me-auto" type="text" placeholder="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> +{{< /example >}} + +## Sass + +{{< scss-docs name="stacks" file="scss/helpers/_stacks.scss" >}} diff --git a/site/data/sidebar.yml b/site/data/sidebar.yml index ab99029b0..fa37b8197 100644 --- a/site/data/sidebar.yml +++ b/site/data/sidebar.yml @@ -88,6 +88,7 @@ - title: Colored links - title: Ratio - title: Position + - title: Stacks - title: Visually hidden - title: Stretched link - title: Text truncation |
