diff options
author | Mark Otto <markdotto@gmail.com> | 2021-05-15 00:32:24 +0300 |
---|---|---|
committer | Mark Otto <otto@github.com> | 2021-07-17 01:11:40 +0300 |
commit | 2bc6de1f5ea85e2b1e228e56c96b339dc105b1c8 (patch) | |
tree | f465a791bb677ca720faa6eb66c7992fbc3b262e /site/content/docs | |
parent | 5c1691ac3a7511e3ae0f1f619bfc0c848090efb5 (diff) |
Add hstack and vstack helpers
Diffstat (limited to 'site/content/docs')
-rw-r--r-- | site/content/docs/5.0/helpers/stacks.md | 82 |
1 files changed, 82 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 0000000000..41c0ac5462 --- /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" >}} |