Skip to main contentSkip to docs navigation

Display property

Responsive utilities for controlling the CSS display property across breakpoints, with additional support for print contexts.

@layer utilities

Overview

Display utilities set the CSS display property. A focused subset of values is supported, and classes can be combined to achieve different effects.

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} for xsmall
  • .{breakpoint}:d-{value} for small, medium, large, xlarge, and 2xlarge.

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, .large:d-none sets display: none; on large, xlarge, and 2xlarge screens.

Examples

d-inline
d-inline
HTML
<div class="d-inline p-xsmall bg-primary fg-contrast">d-inline</div>
<div class="d-inline p-xsmall bg-neutral fg-contrast">d-inline</div>
d-block d-block
HTML
<span class="d-block p-xsmall bg-primary fg-contrast">d-block</span>
<span class="d-block p-xsmall bg-neutral fg-contrast">d-block</span>

Hiding elements

Responsive display classes control element visibility across breakpoints without requiring separate markup for each screen size.

.d-none hides an element at all breakpoints. Breakpoint-prefixed variants (.small:d-none, etc.) hide elements at that breakpoint and above.

To show an element only within a range of screen sizes, combine a .d-*-none class with a .d-*-block class. For example, .d-none .medium:d-block .xlarge:d-none makes an element visible only on medium and large screens.

Screen sizeClass
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
hide on large and wider screens
hide on screens smaller than large
HTML
<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

Print display utilities override display values within @media print contexts. The same set of values available in responsive utilities is supported.

  • .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.

Screen Only (Hide on print only)
Print Only (Hide on screen only)
Hide up to large on screen, but always show on print
HTML
<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

Display utilities are generated via the utilities API.

Reference

The table lists all display utilities and their CSS properties.

ClassProperties
.d-inlinedisplay: inline;
.d-inline-blockdisplay: inline-block;
.d-blockdisplay: block;
.d-griddisplay: grid;
.d-inline-griddisplay: inline-grid;
.d-tabledisplay: table;
.d-table-rowdisplay: table-row;
.d-table-celldisplay: table-cell;
.d-flexdisplay: flex;
.d-inline-flexdisplay: inline-flex;
.d-nonedisplay: none;

Utilities API

Display utilities are declared in scss/utilities/_index.scss using the utilities API.

"display": (
  responsive: true,
  print: true,
  dark: true,
  property: display,
  class: d,
  values: inline inline-block block grid inline-grid table table-row table-cell flex inline-flex none
),