mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-01 13:24:25 +01:00
Add hstack and vstack helpers
This commit is contained in:
parent
5c1691ac3a
commit
2bc6de1f5e
@ -2,6 +2,7 @@
|
||||
@import "helpers/colored-links";
|
||||
@import "helpers/ratio";
|
||||
@import "helpers/position";
|
||||
@import "helpers/stacks";
|
||||
@import "helpers/visually-hidden";
|
||||
@import "helpers/stretched-link";
|
||||
@import "helpers/text-truncation";
|
||||
|
24
scss/helpers/_stacks.scss
Normal file
24
scss/helpers/_stacks.scss
Normal file
@ -0,0 +1,24 @@
|
||||
// scss-docs-start stacks
|
||||
.hstack {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
align-self: stretch;
|
||||
}
|
||||
|
||||
.vstack {
|
||||
display: flex;
|
||||
flex: 1 1 auto;
|
||||
flex-direction: column;
|
||||
align-self: stretch;
|
||||
}
|
||||
// scss-docs-end stacks
|
||||
|
||||
.vr {
|
||||
display: inline-block;
|
||||
align-self: stretch;
|
||||
width: 1px;
|
||||
min-height: 1em;
|
||||
background-color: currentColor;
|
||||
opacity: $hr-opacity;
|
||||
}
|
82
site/content/docs/5.0/helpers/stacks.md
Normal file
82
site/content/docs/5.0/helpers/stacks.md
Normal file
@ -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" >}}
|
@ -88,6 +88,7 @@
|
||||
- title: Colored links
|
||||
- title: Ratio
|
||||
- title: Position
|
||||
- title: Stacks
|
||||
- title: Visually hidden
|
||||
- title: Stretched link
|
||||
- title: Text truncation
|
||||
|
Loading…
Reference in New Issue
Block a user