keyboard_arrow_down

Utilities Classes

Helper classes for custom development.

Borders
<span class="border"></span>
<span class="border-top"></span>
<span class="border-right"></span>
<span class="border-bottom"></span>
<span class="border-left"></span>

<span class="border border-primary"></span>
<span class="border border-secondary"></span>
<span class="border border-success"></span>
<span class="border border-danger"></span>
<span class="border border-warning"></span>
<span class="border border-info"></span>
<span class="border border-light"></span>
<span class="border border-dark"></span>
<span class="border border-white"></span>

<img src="..." alt="..." class="rounded">
<img src="..." alt="..." class="rounded-top">
<img src="..." alt="..." class="rounded-right">
<img src="..." alt="..." class="rounded-bottom">
<img src="..." alt="..." class="rounded-left">
<img src="..." alt="..." class="rounded-circle">
<img src="..." alt="..." class="rounded-0">
Display
none
inline
inline-block
block
table
table-cell
table-row
flex
inline-flex
d-inline
d-inline
d-blockd-block
Screen Size Class
Hidden on all .d-none
Hidden only on xs .d-none .d-sm-block
Hidden only on sm .d-sm-none .d-md-block
Hidden only on md .d-md-none .d-lg-block
Hidden only on lg .d-lg-none .d-xl-block
Hidden only on xl .d-xl-none
Visible on all .d-block
Visible only on xs .d-block .d-sm-none
Visible only on sm .d-none .d-sm-block .d-md-none
Visible only on md .d-none .d-md-block .d-lg-none
Visible only on lg .d-none .d-lg-block .d-xl-none
Visible only on xl .d-none .d-xl-block
Spaceing

Assign responsive-friendly marginor paddingvalues to an element or a subset of its sides with shorthand classes. Includes support for individual properties, all properties, and vertical and horizontal properties. Classes are built from a default Sass map ranging from .25remto 3rem.

Notation

Spacing utilities that apply to all breakpoints, from xsto xl, have no breakpoint abbreviation in them. This is because those classes are applied from min-width: 0 and up, and thus are not bound by a media query. The remaining breakpoints, however, do include a breakpoint abbreviation.

The classes are named using the format {property}{sides}-{size}for xs and {property}{sides}-{breakpoint}-{size}for sm, md, lg,and xl.

Where property is one of:

  • m- for classes that set margin
  • p- for classes that set padding

Where sides is one of:

  • t- for classes that set margin-topor padding-top
  • b- for classes that set margin-bottomor padding-bottom
  • l- for classes that set margin-leftor padding-left
  • r- for classes that set margin-rightor padding-right
  • x- for classes that set both *-leftand *-right
  • y- for classes that set both *-topand *-bottom
  • blank - for classes that set a marginor paddingon all 4 sides of the element

Where size is one of:

  • 0- for classes that eliminate the marginor paddingby setting it to 0
  • 1- (by default) for classes that set the marginor paddingto $spacer * .25
  • 2- (by default) for classes that set the marginor paddingto $spacer * .5
  • 3- (by default) for classes that set the marginor paddingto $spacer
  • 4- (by default) for classes that set the marginor paddingto $spacer * 1.5
  • 5- (by default) for classes that set the marginor paddingto $spacer * 3
  • auto- for classes that set the marginto auto

(You can add more sizes by adding entries to the $spacersSass map variable.)

Text
Text Alignment

Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.

<p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fe....</p>

For left, right, and center alignment, responsive classes are available that use the same viewport width breakpoints as the grid system.

Left aligned text on all viewport sizes.

Center aligned text on all viewport sizes.

Right aligned text on all viewport sizes.

Left aligned text on viewports sized SM (small) or wider.

Left aligned text on viewports sized MD (medium) or wider.

Left aligned text on viewports sized LG (large) or wider.

Left aligned text on viewports sized XL (extra-large) or wider.

<p class="text-left">Left aligned text on all viewport sizes.</p>
<p class="text-center">Center aligned text on all viewport sizes.</p>
<p class="text-right">Right aligned text on all viewport sizes.</p>
<p class="text-sm-left">Left aligned text on viewports sized SM (small) or wider.</p>
<p class="text-md-left">Left aligned text on viewports sized MD (medium) or wider.</p>
<p class="text-lg-left">Left aligned text on viewports sized LG (large) or wider.</p>
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider.</p>
Text wrapping and overflow

Prevent text from wrapping with a .text-nowrapclass.

This text should overflow the parent.
<div class="text-nowrap bd-highlight" style="width: 8rem;"> This text should overflow the parent.</div>

For longer content, you can add a .text-truncateclass to truncate the text with an ellipsis. Requires display: inline-blockor display: block.

Praeterea iter est quasdam res quas ex communi.
Praeterea iter est quasdam res quas ex communi.
<!-- Block level -->
<div class="row">
<div class="col-2 text-truncate">
Praeterea iter est quasdam res quas ex communi.
</div>
</div>

<!-- Inline level -->
<span class="d-inline-block text-truncate" style="max-width: 150px;">
Praeterea iter est quasdam res quas ex communi.
</span>
Colors

.text-primary

.text-secondary

.text-success

.text-danger

.text-warning

.text-info

.text-light

.text-dark

.text-body

.text-muted

.text-white

.text-black-50

.text-white-50

.bg-primary
.bg-secondary
.bg-success
.bg-danger
.bg-warning
.bg-info
.bg-light
.bg-dark
.bg-white
.bg-transparent
Flex

Apply displayutilities to create a flexbox container and transform direct children elementsinto flex items. Flex containers and items are able to be modified further with additional flex properties.

I'm a flexbox container!
<divclass="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
I'm an inline flexbox container!
<divclass="d-inline-flex p-2 bd-highlight">I'm an inline flexbox container!</div>

Responsive variations also exist for .d-flexand .d-inline-flex.

  • .d-flex
  • .d-inline-flex
  • .d-sm-flex
  • .d-sm-inline-flex
  • .d-md-flex
  • .d-md-inline-flex
  • .d-lg-flex
  • .d-lg-inline-flex
  • .d-xl-flex
  • .d-xl-inline-flex
Direction

Set the direction of flex items in a flex container with direction utilities. In most cases you can omit the horizontal class here as the browser default is row. However, you may encounter situations where you needed to explicitly set this value (like responsive layouts).

Use .flex-rowto set a horizontal direction (the browser default), or .flex-row-reverseto start the horizontal direction from the opposite side.

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
<divclass="d-flex flex-row bd-highlight mb-3"><divclass="p-2 bd-highlight">Flex item 1</div><divclass="p-2 bd-highlight">Flex item 2</div><divclass="p-2 bd-highlight">Flex item 3</div></div><divclass="d-flex flex-row-reverse bd-highlight"><divclass="p-2 bd-highlight">Flex item 1</div><divclass="p-2 bd-highlight">Flex item 2</div><divclass="p-2 bd-highlight">Flex item 3</div></div>

Use .flex-columnto set a vertical direction, or .flex-column-reverse to start the vertical direction from the opposite side.

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
<divclass="d-flex flex-column bd-highlight mb-3"><divclass="p-2 bd-highlight">Flex item 1</div><divclass="p-2 bd-highlight">Flex item 2</div><divclass="p-2 bd-highlight">Flex item 3</div></div><divclass="d-flex flex-column-reverse bd-highlight"><divclass="p-2 bd-highlight">Flex item 1</div><divclass="p-2 bd-highlight">Flex item 2</div><divclass="p-2 bd-highlight">Flex item 3</div></div>

Responsive variations also exist for flex-direction.

  • .flex-row
  • .flex-row-reverse
  • .flex-column
  • .flex-column-reverse
  • .flex-sm-row
  • .flex-sm-row-reverse
  • .flex-sm-column
  • .flex-sm-column-reverse
  • .flex-md-row
  • .flex-md-row-reverse
  • .flex-md-column
  • .flex-md-column-reverse
  • .flex-lg-row
  • .flex-lg-row-reverse
  • .flex-lg-column
  • .flex-lg-column-reverse
  • .flex-xl-row
  • .flex-xl-row-reverse
  • .flex-xl-column
  • .flex-xl-column-reverse
Justify content

Use justify-contentutilities on flexbox containers to change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column). Choose from start(browser default), end, center, between, or around.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex justify-content-start">...</div><divclass="d-flex justify-content-end">...</div><divclass="d-flex justify-content-center">...</div><divclass="d-flex justify-content-between">...</div><divclass="d-flex justify-content-around">...</div>

Responsive variations also exist for justify-content.

  • .justify-content-start
  • .justify-content-end
  • .justify-content-center
  • .justify-content-between
  • .justify-content-around
  • .justify-content-sm-start
  • .justify-content-sm-end
  • .justify-content-sm-center
  • .justify-content-sm-between
  • .justify-content-sm-around
  • .justify-content-md-start
  • .justify-content-md-end
  • .justify-content-md-center
  • .justify-content-md-between
  • .justify-content-md-around
  • .justify-content-lg-start
  • .justify-content-lg-end
  • .justify-content-lg-center
  • .justify-content-lg-between
  • .justify-content-lg-around
  • .justify-content-xl-start
  • .justify-content-xl-end
  • .justify-content-xl-center
  • .justify-content-xl-between
  • .justify-content-xl-around
Align items

Use align-itemsutilities on flexbox containers to change the alignment of flex items on the cross axis (the y-axis to start, x-axis if flex-direction: column). Choose from start, end, center, baseline, or stretch(browser default).

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-items-start">...</div><divclass="d-flex align-items-end">...</div><divclass="d-flex align-items-center">...</div><divclass="d-flex align-items-baseline">...</div><divclass="d-flex align-items-stretch">...</div>

Responsive variations also exist for align-items.

  • .align-items-start
  • .align-items-end
  • .align-items-center
  • .align-items-baseline
  • .align-items-stretch
  • .align-items-sm-start
  • .align-items-sm-end
  • .align-items-sm-center
  • .align-items-sm-baseline
  • .align-items-sm-stretch
  • .align-items-md-start
  • .align-items-md-end
  • .align-items-md-center
  • .align-items-md-baseline
  • .align-items-md-stretch
  • .align-items-lg-start
  • .align-items-lg-end
  • .align-items-lg-center
  • .align-items-lg-baseline
  • .align-items-lg-stretch
  • .align-items-xl-start
  • .align-items-xl-end
  • .align-items-xl-center
  • .align-items-xl-baseline
  • .align-items-xl-stretch
Align self

Use align-selfutilities on flexbox items to individually change their alignment on the cross axis (the y-axis to start, x-axis if flex-direction: column). Choose from the same options as align-items: start, end, center, baseline, or stretch(browser default).

Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
Flex item
Aligned flex item
Flex item
<divclass="align-self-start">Aligned flex item</div><divclass="align-self-end">Aligned flex item</div><divclass="align-self-center">Aligned flex item</div><divclass="align-self-baseline">Aligned flex item</div><divclass="align-self-stretch">Aligned flex item</div>

Responsive variations also exist for align-self.

  • .align-self-start
  • .align-self-end
  • .align-self-center
  • .align-self-baseline
  • .align-self-stretch
  • .align-self-sm-start
  • .align-self-sm-end
  • .align-self-sm-center
  • .align-self-sm-baseline
  • .align-self-sm-stretch
  • .align-self-md-start
  • .align-self-md-end
  • .align-self-md-center
  • .align-self-md-baseline
  • .align-self-md-stretch
  • .align-self-lg-start
  • .align-self-lg-end
  • .align-self-lg-center
  • .align-self-lg-baseline
  • .align-self-lg-stretch
  • .align-self-xl-start
  • .align-self-xl-end
  • .align-self-xl-center
  • .align-self-xl-baseline
  • .align-self-xl-stretch
Fill

Use the .flex-fillclass on a series of sibling elements to force them into equal widths while taking up all available horizontal space. Especially useful for equal-width, or justified, navigation.

Flex item
Flex item
Flex item
<divclass="d-flex bd-highlight"><divclass="p-2 flex-fill bd-highlight">Flex item</div><divclass="p-2 flex-fill bd-highlight">Flex item</div><divclass="p-2 flex-fill bd-highlight">Flex item</div></div>

Responsive variations also exist for flex-fill.

  • .flex-fill
  • .flex-sm-fill
  • .flex-md-fill
  • .flex-lg-fill
  • .flex-xl-fill
Grow and shrink

Use .flex-grow-*utilities to toggle a flex item’s ability to grow to fill available space. In the example below, the .flex-grow-1elements uses all available space it can, while allowing the remaining two flex items their necessary space.

Flex item
Flex item
Third flex item
<divclass="d-flex bd-highlight"><divclass="p-2 flex-grow-1 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Third flex item</div></div>

Use .flex-shrink-*utilities to toggle a flex item’s ability to shrink if necessary. In the example below, the second flex item with .flex-shrink-1is forced to wrap it’s contents to a new line, “shrinking” to allow more space for the previous flex item with .w-100.

Flex item
Flex item
<divclass="d-flex bd-highlight"><divclass="p-2 w-100 bd-highlight">Flex item</div><divclass="p-2 flex-shrink-1 bd-highlight">Flex item</div></div>

Responsive variations also exist for flex-growand flex-shrink.

  • .flex-{grow|shrink}-0
  • .flex-{grow|shrink}-1
  • .flex-sm-{grow|shrink}-0
  • .flex-sm-{grow|shrink}-1
  • .flex-md-{grow|shrink}-0
  • .flex-md-{grow|shrink}-1
  • .flex-lg-{grow|shrink}-0
  • .flex-lg-{grow|shrink}-1
  • .flex-xl-{grow|shrink}-0
  • .flex-xl-{grow|shrink}-1
Auto margins

Flexbox can do some pretty awesome things when you mix flex alignments with auto margins. Shown below are three examples of controlling flex items via auto margins: default (no auto margin), pushing two items to the right (.mr-auto), and pushing two items to the left (.ml-auto).

Unfortunately, IE10 and IE11 do not properly support auto margins on flex items whose parent has a non-default justify-contentvalue.See this StackOverflow answerfor more details.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex bd-highlight mb-3"><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div></div><divclass="d-flex bd-highlight mb-3"><divclass="mr-auto p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div></div><divclass="d-flex bd-highlight mb-3"><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="ml-auto p-2 bd-highlight">Flex item</div></div>

With align-items

Vertically move one flex item to the top or bottom of a container by mixing align-items, flex-direction: column, and margin-top: autoor margin-bottom: auto.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-items-start flex-column bd-highlight mb-3"style="height: 200px;"><divclass="mb-auto p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div></div><divclass="d-flex align-items-end flex-column bd-highlight mb-3"style="height: 200px;"><divclass="p-2 bd-highlight">Flex item</div><divclass="p-2 bd-highlight">Flex item</div><divclass="mt-auto p-2 bd-highlight">Flex item</div></div>
Wrap

Change how flex items wrap in a flex container. Choose from no wrapping at all (the browser default) with .flex-nowrap, wrapping with .flex-wrap, or reverse wrapping with .flex-wrap-reverse.

Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex flex-nowrap">  ...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex flex-wrap">  ...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex flex-wrap-reverse">  ...</div>

Responsive variations also exist for flex-wrap.

  • .flex-nowrap
  • .flex-wrap
  • .flex-wrap-reverse
  • .flex-sm-nowrap
  • .flex-sm-wrap
  • .flex-sm-wrap-reverse
  • .flex-md-nowrap
  • .flex-md-wrap
  • .flex-md-wrap-reverse
  • .flex-lg-nowrap
  • .flex-lg-wrap
  • .flex-lg-wrap-reverse
  • .flex-xl-nowrap
  • .flex-xl-wrap
  • .flex-xl-wrap-reverse
Order

Change the visualorder of specific flex items with a handful of orderutilities. We only provide options for making an item first or last, as well as a reset to use the DOM order. As ordertakes any integer value (e.g., 5), add custom CSS for any additional values needed.

First flex item
Second flex item
Third flex item
<divclass="d-flex flex-nowrap bd-highlight"><divclass="order-3 p-2 bd-highlight">First flex item</div><divclass="order-2 p-2 bd-highlight">Second flex item</div><divclass="order-1 p-2 bd-highlight">Third flex item</div></div>

Responsive variations also exist for order.

  • .order-0
  • .order-1
  • .order-2
  • .order-3
  • .order-4
  • .order-5
  • .order-6
  • .order-7
  • .order-8
  • .order-9
  • .order-10
  • .order-11
  • .order-12
  • .order-sm-0
  • .order-sm-1
  • .order-sm-2
  • .order-sm-3
  • .order-sm-4
  • .order-sm-5
  • .order-sm-6
  • .order-sm-7
  • .order-sm-8
  • .order-sm-9
  • .order-sm-10
  • .order-sm-11
  • .order-sm-12
  • .order-md-0
  • .order-md-1
  • .order-md-2
  • .order-md-3
  • .order-md-4
  • .order-md-5
  • .order-md-6
  • .order-md-7
  • .order-md-8
  • .order-md-9
  • .order-md-10
  • .order-md-11
  • .order-md-12
  • .order-lg-0
  • .order-lg-1
  • .order-lg-2
  • .order-lg-3
  • .order-lg-4
  • .order-lg-5
  • .order-lg-6
  • .order-lg-7
  • .order-lg-8
  • .order-lg-9
  • .order-lg-10
  • .order-lg-11
  • .order-lg-12
  • .order-xl-0
  • .order-xl-1
  • .order-xl-2
  • .order-xl-3
  • .order-xl-4
  • .order-xl-5
  • .order-xl-6
  • .order-xl-7
  • .order-xl-8
  • .order-xl-9
  • .order-xl-10
  • .order-xl-11
  • .order-xl-12
Align content

Use align-contentutilities on flexbox containers to align flex items togetheron the cross axis. Choose from start(browser default), end, center, between, around, or stretch. To demonstrate these utilities, we’ve enforced flex-wrap: wrapand increased the number of flex items.

Heads up!This property has no effect on single rows of flex items.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-start flex-wrap">  ...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-end flex-wrap">...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-center flex-wrap">...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-between flex-wrap">...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-around flex-wrap">...</div>
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<divclass="d-flex align-content-stretch flex-wrap">...</div>

Responsive variations also exist for align-content.

  • .align-content-start
  • .align-content-end
  • .align-content-center
  • .align-content-around
  • .align-content-stretch
  • .align-content-sm-start
  • .align-content-sm-end
  • .align-content-sm-center
  • .align-content-sm-around
  • .align-content-sm-stretch
  • .align-content-md-start
  • .align-content-md-end
  • .align-content-md-center
  • .align-content-md-around
  • .align-content-md-stretch
  • .align-content-lg-start
  • .align-content-lg-end
  • .align-content-lg-center
  • .align-content-lg-around
  • .align-content-lg-stretch
  • .align-content-xl-start
  • .align-content-xl-end
  • .align-content-xl-center
  • .align-content-xl-around
  • .align-content-xl-stretch
shopping_cartBuy Now $23