<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">
none
inline
inline-block
block
table
table-cell
table-row
flex
inline-flex
| 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
|
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 setmargin -
p- for classes that setpadding
Where sides is one of:
-
t- for classes that setmargin-toporpadding-top -
b- for classes that setmargin-bottomorpadding-bottom -
l- for classes that setmargin-leftorpadding-left -
r- for classes that setmargin-rightorpadding-right -
x- for classes that set both*-leftand*-right -
y- for classes that set both*-topand*-bottom - blank - for classes that set a
marginorpaddingon all 4 sides of the element
Where size is one of:
-
0- for classes that eliminate themarginorpaddingby setting it to0 -
1- (by default) for classes that set themarginorpaddingto$spacer * .25 -
2- (by default) for classes that set themarginorpaddingto$spacer * .5 -
3- (by default) for classes that set themarginorpaddingto$spacer -
4- (by default) for classes that set themarginorpaddingto$spacer * 1.5 -
5- (by default) for classes that set themarginorpaddingto$spacer * 3 -
auto- for classes that set themarginto auto
(You can add more sizes by adding entries to the $spacersSass map variable.)
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.
<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.
<!-- 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>
.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
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.
<divclass="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
<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
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.
<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.
<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
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.
<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
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).
<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
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).
<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
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.
<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
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.
<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.
<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
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.
<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>
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.
<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>
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.
<divclass="d-flex flex-nowrap"> ...</div>
<divclass="d-flex flex-wrap"> ...</div>
<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
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.
<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
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.
<divclass="d-flex align-content-start flex-wrap"> ...</div>
<divclass="d-flex align-content-end flex-wrap">...</div>
<divclass="d-flex align-content-center flex-wrap">...</div>
<divclass="d-flex align-content-between flex-wrap">...</div>
<divclass="d-flex align-content-around flex-wrap">...</div>
<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