Display property
Quickly and responsively toggle the display value of components and more with our display utilities. Includes support for some of the more common values, as well as some extras for controlling display when printing.
How it works
Change the value of the display property with our responsive display utility classes. We purposely support only a subset of all possible values for display. Classes can be combined for various effects as you need.
Notation
Display utility classes that apply to all breakpoints, from xssmall to 2xlarge, 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.
As such, the classes are named using the format:
.d-{value}forxssmall.d-{breakpoint}-{value}forsmall,medium,large,xlarge, and2xlarge.
Where value is one of:
noneinlineinline-blockblockgridinline-gridtabletable-celltable-rowflexinline-flex
The display values can be altered by changing the display values defined in $utilities and recompiling the SCSS.
The media queries affect screen widths with the given breakpoint or larger. For example, .large:d-none sets display: none; on large, xlarge, and 2xlarge screens.
Examples
<div class="d-inline p-xsmall bg-primary fg-contrast">d-inline</div>
<div class="d-inline p-xsmall bg-alternate fg-contrast">d-inline</div> <span class="d-block p-xsmall bg-primary fg-contrast">d-block</span>
<span class="d-block p-xsmall bg-alternate fg-contrast">d-block</span> Hiding elements
For faster mobile-friendly development, use responsive display classes for showing and hiding elements by device. Avoid creating entirely different versions of the same site, instead hide elements responsively for each screen size.
To hide elements simply use the .d-none class or one of the .d-{small,medium,large,xlarge,2xlarge}-none classes for any responsive screen variation.
To show an element only on a given interval of screen sizes you can combine one .d-*-none class with a .d-*-* class, for example .d-none .medium:d-block .xlarge:d-none will hide the element for all screen sizes except on medium and large devices.
| Screen size | Class |
|---|---|
| Hidden on all | .d-none |
| Hidden only on xsmall | .d-none .small:d-block |
| Hidden only on small | .small:d-none .medium:d-block |
| Hidden only on medium | .medium:d-none .large:d-block |
| Hidden only on large | .large:d-none .xlarge:d-block |
| Hidden only on xlarge | .xlarge:d-none .2xlarge:d-block |
| Hidden only on 2xlarge | .2xlarge:d-none |
| Visible on all | .d-block |
| Visible only on xsmall | .d-block .small:d-none |
| Visible only on small | .d-none .small:d-block .medium:d-none |
| Visible only on medium | .d-none .medium:d-block .large:d-none |
| Visible only on large | .d-none .large:d-block .xlarge:d-none |
| Visible only on xlarge | .d-none .xlarge:d-block .2xlarge:d-none |
| Visible only on 2xlarge | .d-none .2xlarge:d-block |
<div class="large:d-none">hide on large and wider screens</div>
<div class="d-none large:d-block">hide on screens smaller than large</div> Display in print
Change the display value of elements when printing with our print display utility classes. Includes support for the same display values as our responsive .d-* utilities.
.d-print-none.d-print-inline.d-print-inline-block.d-print-block.d-print-grid.d-print-inline-grid.d-print-table.d-print-table-row.d-print-table-cell.d-print-flex.d-print-inline-flex
The print and display classes can be combined.
<div class="d-print-none">Screen Only (Hide on print only)</div>
<div class="d-none d-print-block">Print Only (Hide on screen only)</div>
<div class="d-none large:d-block d-print-block">Hide up to large on screen, but always show on print</div> CSS
Sass utilities API
Display utilities are declared in our utilities API in scss/utilities/_positioning.scss. Learn how to use the utilities API.
"display": (
responsive: true,
print: true,
property: display,
class: d,
values: inline inline-block block grid inline-grid table table-row table-cell flex inline-flex none
),