Flex
Utility classes for managing layouts with flexbox.
Layout
The Flex component supports three different layouts. To create a Flex, first, choose a layout. Then, apply that layout to a container by giving the container one of the following classes:
wrap: children are placed a fixed distance apart, wrapping onto new lines as needed.stack: children are placed a fixed distance apart and prevented from wrapping.distribute: children are spaced evenly within their container, wrapping onto new lines as needed.
The examples below place children in a container with a fixed width to better illustrate how each behaves.
Wrap
1
2
3
4
5
Stack
1
2
3
4
Distribute
1
2
3
4
5
<h3 class="h6">Wrap</h3>
<div class="flex-example wrap">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
<div class="box">5</div>
</div>
<h3 class="h6">Stack</h3>
<div class="flex-example stack">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
</div>
<h3 class="h6">Distribute</h3>
<div class="flex-example distribute">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
<div class="box">5</div>
</div> Density
You can optionally add one of the following modifier classes to change the spacing between children (ordered from most compact to most spread out):
no-gapdensestdenserdensenormal(default)sparsesparsersparsest
No Gap
1
2
3
Densest
1
2
3
Denser
1
2
3
Dense
1
2
3
Normal
1
2
3
Sparse
1
2
3
Sparser
1
2
3
Sparsest
1
2
3
<h3 class="h6">No Gap</h3>
<div class="wrap no-gap">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Densest</h3>
<div class="wrap densest">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Denser</h3>
<div class="wrap denser">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Dense</h3>
<div class="wrap dense">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Normal</h3>
<div class="wrap">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Sparse</h3>
<div class="wrap sparse">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Sparser</h3>
<div class="wrap sparser">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Sparsest</h3>
<div class="wrap sparsest">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div> Orientation
You can optionally add one of the following modifier classes to change the axis along which the children are laid out:
horizontal(default): elements are laid out along the x-axisvertical: elements are laid out along the y-axis
Horizontal
1
2
3
Vertical
1
2
3
<h3 class="h6">Horizontal</h3>
<div class="stack horizontal">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
<h3 class="h6">Vertical</h3>
<div class="stack vertical">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>