Skip to main content Skip to docs navigation

Display property

Quickly and responsively toggle the display value of components and more with our display utilities.

Class Styles
.d-inline display: inline;
.d-inline-block display: inline-block;
.d-block display: block;
.d-grid display: grid;
.d-inline-grid display: inline-grid;
.d-table display: table;
.d-table-row display: table-row;
.d-table-cell display: table-cell;
.d-flex display: flex;
.d-inline-flex display: inline-flex;
.d-contents display: contents;
.d-flow-root display: flow-root;
.d-none display: none;

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 xs to 2xl, 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} for xs
  • .d-{breakpoint}-{value} for sm, md, lg, xl, and 2xl.

Where value is one of:

  • none
  • inline
  • inline-block
  • block
  • grid
  • inline-grid
  • table
  • table-cell
  • table-row
  • flex
  • inline-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, .d-lg-none sets display: none; on lg, xl, and 2xl screens.

Clearfix

There's no more clearfix helper in Bootstrap 6 as it's an outdated technique. Instead, use the display: flow-root utility, .d-flow-root. This forces a container element to create a new block formatting context without the clearfix.

Floated element
HTML
<div class="d-flow-root">
  <div class="float-end px-3 py-2 border rounded-3">Floated element</div>
</div>

Examples

d-inline
d-inline
HTML
<div class="d-inline p-2 text-bg-primary">d-inline</div>
<div class="d-inline p-2 text-bg-dark">d-inline</div>
d-block d-block
HTML
<span class="d-block p-2 text-bg-primary">d-block</span>
<span class="d-block p-2 text-bg-dark">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-{sm,md,lg,xl,2xl}-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 .d-md-block .d-xl-none will hide the element for all screen sizes except on medium and large devices.

Screen sizeClass
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 .d-2xl-block
Hidden only on 2xl.d-2xl-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 .d-2xl-none
Visible only on 2xl.d-none .d-2xl-block
hide on lg and wider screens
hide on screens smaller than lg
HTML
<div class="d-lg-none">hide on lg and wider screens</div>
<div class="d-none d-lg-block">hide on screens smaller than lg</div>

CSS

Sass utilities API

Display utilities are declared in our utilities API in scss/_utilities.scss. Learn how to use the utilities API.

SCSS
"display": (
  responsive: true,
  property: display,
  class: d,
  values: inline inline-block block grid inline-grid table table-row table-cell flex inline-flex contents flow-root none
),