Skip to main content Skip to docs navigation

Background

Convey meaning through background-color and add decoration with gradients.

Accessibility tip: Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies like screen readers. Please ensure the meaning is obvious from the content itself (e.g., the visible text with a sufficient color contrast) or is included through alternative means, such as additional text hidden with the .visually-hidden class.

Background color

Similar to the contextual text color classes, set the background of an element to any contextual class. Background utilities do not set color, so in some cases you’ll want to use .text-* color utilities.

Background utilities like .bg-* that generated from our original $theme-colors Sass map don’t yet respond to color modes. This will be resolved in upstream Bootstrap v6.0.0.

Brand

Custom Arizona Bootstrap Classes

.bg-red
.bg-bloom
.bg-chili
.bg-blue
.bg-sky
.bg-oasis
.bg-azurite
.bg-midnight
.bg-cool-gray
.bg-warm-gray
.bg-leaf
.bg-river
.bg-silver
.bg-mesa
.bg-ash
.bg-sage
.bg-white
.bg-black
html
<div class="p-3 mb-2 bg-red text-white">.bg-red</div>
<div class="p-3 mb-2 bg-bloom text-black ">.bg-bloom</div>
<div class="p-3 mb-2 bg-chili text-white">.bg-chili</div>
<div class="p-3 mb-2 bg-blue text-white">.bg-blue</div>
<div class="p-3 mb-2 bg-sky text-black ">.bg-sky</div>
<div class="p-3 mb-2 bg-oasis text-black ">.bg-oasis</div>
<div class="p-3 mb-2 bg-azurite text-white">.bg-azurite</div>
<div class="p-3 mb-2 bg-midnight text-white">.bg-midnight</div>
<div class="p-3 mb-2 bg-cool-gray text-black ">.bg-cool-gray</div>
<div class="p-3 mb-2 bg-warm-gray text-black ">.bg-warm-gray</div>
<div class="p-3 mb-2 bg-leaf text-black ">.bg-leaf</div>
<div class="p-3 mb-2 bg-river text-white">.bg-river</div>
<div class="p-3 mb-2 bg-silver text-black ">.bg-silver</div>
<div class="p-3 mb-2 bg-mesa text-white">.bg-mesa</div>
<div class="p-3 mb-2 bg-ash text-white">.bg-ash</div>
<div class="p-3 mb-2 bg-sage text-white">.bg-sage</div>
<div class="p-3 mb-2 bg-white text-black ">.bg-white</div>
<div class="p-3 mb-2 bg-black text-white">.bg-black</div>

Contextual (Theme)

.bg-success
.bg-danger
.bg-warning
.bg-info
.bg-light
.bg-dark
.bg-transparent
html
<div class="p-3 mb-2 bg-success text-black">.bg-success</div>
<div class="p-3 mb-2 bg-danger text-white">.bg-danger</div>
<div class="p-3 mb-2 bg-warning text-black">.bg-warning</div>
<div class="p-3 mb-2 bg-info text-black">.bg-info</div>
<div class="p-3 mb-2 bg-light text-black">.bg-light</div>
<div class="p-3 mb-2 bg-dark text-white">.bg-dark</div>
<div class="p-3 mb-2 bg-transparent text-dark">.bg-transparent</div>

Grayscale

Custom Arizona Bootstrap Classes

.bg-gray-100
.bg-gray-200
.bg-gray-300
.bg-gray-400
.bg-gray-500
.bg-gray-600
.bg-gray-700
.bg-gray-800
.bg-gray-900
html
<div class="p-3 mb-2 bg-gray-100 text-black">.bg-gray-100</div>
<div class="p-3 mb-2 bg-gray-200 text-black">.bg-gray-200</div>
<div class="p-3 mb-2 bg-gray-300 text-black">.bg-gray-300</div>
<div class="p-3 mb-2 bg-gray-400 text-black">.bg-gray-400</div>
<div class="p-3 mb-2 bg-gray-500 text-black">.bg-gray-500</div>
<div class="p-3 mb-2 bg-gray-600 text-white">.bg-gray-600</div>
<div class="p-3 mb-2 bg-gray-700 text-white">.bg-gray-700</div>
<div class="p-3 mb-2 bg-gray-800 text-white">.bg-gray-800</div>
<div class="p-3 mb-2 bg-gray-900 text-white">.bg-gray-900</div>

Transparent

Custom Arizona Bootstrap Classes

.bg-transparent-red
.bg-transparent-bloom
.bg-transparent-chili
.bg-transparent-blue
.bg-transparent-sky
.bg-transparent-oasis
.bg-transparent-azurite
.bg-transparent-midnight
.bg-transparent-cool-gray
.bg-transparent-warm-gray
.bg-transparent-leaf
.bg-transparent-river
.bg-transparent-silver
.bg-transparent-mesa
.bg-transparent-ash
.bg-transparent-sage
.bg-transparent-white
.bg-transparent-black
html
<div class="p-3 mb-2 bg-transparent-red text-white">.bg-transparent-red</div>
<div class="p-3 mb-2 bg-transparent-bloom text-black">.bg-transparent-bloom</div>
<div class="p-3 mb-2 bg-transparent-chili text-white">.bg-transparent-chili</div>
<div class="p-3 mb-2 bg-transparent-blue text-white">.bg-transparent-blue</div>
<div class="p-3 mb-2 bg-transparent-sky text-black">.bg-transparent-sky</div>
<div class="p-3 mb-2 bg-transparent-oasis text-black">.bg-transparent-oasis</div>
<div class="p-3 mb-2 bg-transparent-azurite text-white">.bg-transparent-azurite</div>
<div class="p-3 mb-2 bg-transparent-midnight text-white">.bg-transparent-midnight</div>
<div class="p-3 mb-2 bg-transparent-cool-gray text-black">.bg-transparent-cool-gray</div>
<div class="p-3 mb-2 bg-transparent-warm-gray text-black">.bg-transparent-warm-gray</div>
<div class="p-3 mb-2 bg-transparent-leaf text-black">.bg-transparent-leaf</div>
<div class="p-3 mb-2 bg-transparent-river text-white">.bg-transparent-river</div>
<div class="p-3 mb-2 bg-transparent-silver text-black">.bg-transparent-silver</div>
<div class="p-3 mb-2 bg-transparent-mesa text-white">.bg-transparent-mesa</div>
<div class="p-3 mb-2 bg-transparent-ash text-white">.bg-transparent-ash</div>
<div class="p-3 mb-2 bg-transparent-sage text-white">.bg-transparent-sage</div>
<div class="p-3 mb-2 bg-transparent-white text-black">.bg-transparent-white</div>
<div class="p-3 mb-2 bg-transparent-black text-white">.bg-transparent-black</div>

Background gradient

Brand Background Colors

Custom Arizona Bootstrap Classes

.bg-gradient-red
.bg-gradient-bloom
.bg-gradient-chili
.bg-gradient-blue
.bg-gradient-sky
.bg-gradient-oasis
.bg-gradient-azurite
.bg-gradient-midnight
.bg-gradient-cool-gray
.bg-gradient-warm-gray
.bg-gradient-leaf
.bg-gradient-river
.bg-gradient-silver
.bg-gradient-mesa
.bg-gradient-ash
.bg-gradient-sage
.bg-gradient-white
.bg-gradient-black
html
<div class="p-3 mb-2 bg-gradient-red text-white">.bg-gradient-red</div>
<div class="p-3 mb-2 bg-gradient-bloom text-black">.bg-gradient-bloom</div>
<div class="p-3 mb-2 bg-gradient-chili text-white">.bg-gradient-chili</div>
<div class="p-3 mb-2 bg-gradient-blue text-white">.bg-gradient-blue</div>
<div class="p-3 mb-2 bg-gradient-sky text-black">.bg-gradient-sky</div>
<div class="p-3 mb-2 bg-gradient-oasis text-black">.bg-gradient-oasis</div>
<div class="p-3 mb-2 bg-gradient-azurite text-white">.bg-gradient-azurite</div>
<div class="p-3 mb-2 bg-gradient-midnight text-white">.bg-gradient-midnight</div>
<div class="p-3 mb-2 bg-gradient-cool-gray text-black">.bg-gradient-cool-gray</div>
<div class="p-3 mb-2 bg-gradient-warm-gray text-black">.bg-gradient-warm-gray</div>
<div class="p-3 mb-2 bg-gradient-leaf text-black">.bg-gradient-leaf</div>
<div class="p-3 mb-2 bg-gradient-river text-white">.bg-gradient-river</div>
<div class="p-3 mb-2 bg-gradient-silver text-black">.bg-gradient-silver</div>
<div class="p-3 mb-2 bg-gradient-mesa text-white">.bg-gradient-mesa</div>
<div class="p-3 mb-2 bg-gradient-ash text-white">.bg-gradient-ash</div>
<div class="p-3 mb-2 bg-gradient-sage text-white">.bg-gradient-sage</div>
<div class="p-3 mb-2 bg-gradient-white text-black">.bg-gradient-white</div>
<div class="p-3 mb-2 bg-gradient-black text-white">.bg-gradient-black</div>

Upstream Bootstrap Gradient Class

By adding a .bg-gradient class, a linear gradient is added as background image to the backgrounds. This gradient starts with a semi-transparent white which fades out to the bottom.

Do you need a gradient in your custom CSS? Just add background-image: var(--bs-gradient);.

.bg-red.bg-gradient
.bg-chili.bg-gradient
.bg-blue.bg-gradient
.bg-oasis.bg-gradient
.bg-azurite.bg-gradient
.bg-midnight.bg-gradient
.bg-cool-gray.bg-gradient
.bg-warm-gray.bg-gradient
.bg-white.bg-gradient
.bg-black.bg-gradient

Opacity

Added in v5.1.0

As of v5.1.0, background-color utilities are generated with Sass using CSS variables. This allows for real-time color changes without compilation and dynamic alpha transparency changes.

How it works

Consider our default .bg-oasis utility.

.bg-oasis {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-oasis-rgb), var(--bs-bg-opacity)) !important;
}

We use an RGB version of our --bs-oasis (with the value of 55, 141, 189) CSS variable and attached a second CSS variable, --bs-bg-opacity, for the alpha transparency (with a default value 1 thanks to a local CSS variable). That means anytime you use .bg-oasis now, your computed color value is rgba(55, 141, 189, 1). The local CSS variable inside each .bg-* class avoids inheritance issues so nested instances of the utilities don’t automatically have a modified alpha transparency.

Example

To change that opacity, override --bs-bg-opacity via custom styles or inline styles.

This is default oasis background
This is 50% opacity oasis background
html
<div class="bg-oasis p-2 text-white">This is default oasis background</div>
<div class="bg-oasis p-2" style="--bs-bg-opacity: .5;">This is 50% opacity oasis background</div>

Or, choose from any of the .bg-opacity utilities:

This is default success background
This is 75% opacity success background
This is 50% opacity success background
This is 25% opacity success background
This is 10% opacity success background
html
<div class="bg-oasis p-2 text-white">This is default success background</div>
<div class="bg-oasis p-2 text-white bg-opacity-75">This is 75% opacity success background</div>
<div class="bg-oasis p-2 text-dark bg-opacity-50">This is 50% opacity success background</div>
<div class="bg-oasis p-2 text-dark bg-opacity-25">This is 25% opacity success background</div>
<div class="bg-oasis p-2 text-dark bg-opacity-10">This is 10% opacity success background</div>

CSS

In addition to the following Sass functionality, consider reading about our included CSS custom properties (aka CSS variables) for colors and more.

Sass variables

Most background-color utilities are generated by our theme colors, reassigned from our generic color palette variables.

$blue:    #0d6efd;
$indigo:  #6610f2;
$purple:  #6f42c1;
$pink:    #d63384;
$red:     #dc3545;
$orange:  #fd7e14;
$yellow:  #ffc107;
$green:   #198754;
$teal:    #20c997;
$cyan:    #0dcaf0;
$primary:       $blue;
$secondary:     $gray-600;
$success:       $green;
$info:          $cyan;
$warning:       $yellow;
$danger:        $red;
$light:         $gray-100;
$dark:          $gray-900;
$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0));

Grayscale colors are also available, but only a subset are used to generate any utilities.

$white:    #fff;
$gray-100: #f8f9fa;
$gray-200: #e9ecef;
$gray-300: #dee2e6;
$gray-400: #ced4da;
$gray-500: #adb5bd;
$gray-600: #6c757d;
$gray-700: #495057;
$gray-800: #343a40;
$gray-900: #212529;
$black:    #000;

Variables for setting background-color in .bg-*-subtle utilities in light and dark mode:

$primary-bg-subtle:       tint-color($primary, 80%);
$secondary-bg-subtle:     tint-color($secondary, 80%);
$success-bg-subtle:       tint-color($success, 80%);
$info-bg-subtle:          tint-color($info, 80%);
$warning-bg-subtle:       tint-color($warning, 80%);
$danger-bg-subtle:        tint-color($danger, 80%);
$light-bg-subtle:         mix($gray-100, $white);
$dark-bg-subtle:          $gray-400;
$primary-bg-subtle-dark:            shade-color($primary, 80%);
$secondary-bg-subtle-dark:          shade-color($secondary, 80%);
$success-bg-subtle-dark:            shade-color($success, 80%);
$info-bg-subtle-dark:               shade-color($info, 80%);
$warning-bg-subtle-dark:            shade-color($warning, 80%);
$danger-bg-subtle-dark:             shade-color($danger, 80%);
$light-bg-subtle-dark:              $gray-800;
$dark-bg-subtle-dark:               mix($gray-800, $black);

Sass maps

Theme colors are then put into a Sass map so we can loop over them to generate our utilities, component modifiers, and more.

$theme-colors: (
  "primary":    $primary,
  "secondary":  $secondary,
  "success":    $success,
  "info":       $info,
  "warning":    $warning,
  "danger":     $danger,
  "light":      $light,
  "dark":       $dark
);

Grayscale colors are also available as a Sass map. This map is not used to generate any utilities.

$grays: (
  "100": $gray-100,
  "200": $gray-200,
  "300": $gray-300,
  "400": $gray-400,
  "500": $gray-500,
  "600": $gray-600,
  "700": $gray-700,
  "800": $gray-800,
  "900": $gray-900
);

RGB colors are generated from a separate Sass map:

$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");

Background color opacities build on that with their own map that’s consumed by the utilities API:

$utilities-bg: map-merge(
  $utilities-colors,
  (
    "black": to-rgb($black),
    "white": to-rgb($white),
    "body": to-rgb($body-bg)
  )
);
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg");

$utilities-bg-subtle: (
  "primary-subtle": var(--#{$prefix}primary-bg-subtle),
  "secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
  "success-subtle": var(--#{$prefix}success-bg-subtle),
  "info-subtle": var(--#{$prefix}info-bg-subtle),
  "warning-subtle": var(--#{$prefix}warning-bg-subtle),
  "danger-subtle": var(--#{$prefix}danger-bg-subtle),
  "light-subtle": var(--#{$prefix}light-bg-subtle),
  "dark-subtle": var(--#{$prefix}dark-bg-subtle)
);

Color mode background colors are also available as a Sass map:

$theme-colors-bg-subtle: (
  "primary": $primary-bg-subtle,
  "secondary": $secondary-bg-subtle,
  "success": $success-bg-subtle,
  "info": $info-bg-subtle,
  "warning": $warning-bg-subtle,
  "danger": $danger-bg-subtle,
  "light": $light-bg-subtle,
  "dark": $dark-bg-subtle,
);
$theme-colors-bg-subtle-dark: (
  "primary": $primary-bg-subtle-dark,
  "secondary": $secondary-bg-subtle-dark,
  "success": $success-bg-subtle-dark,
  "info": $info-bg-subtle-dark,
  "warning": $warning-bg-subtle-dark,
  "danger": $danger-bg-subtle-dark,
  "light": $light-bg-subtle-dark,
  "dark": $dark-bg-subtle-dark,
);

Sass mixins

No mixins are used to generate our background utilities, but we do have some additional mixins for other situations where you’d like to create your own gradients.

@mixin gradient-bg($color: null) {
  background-color: $color;

  @if $enable-gradients {
    background-image: var(--#{$prefix}gradient);
  }
}
// Horizontal gradient, from left to right
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
}

// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {
  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
}

@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
  background-image: linear-gradient($deg, $start-color, $end-color);
}

@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
}

@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
}

@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
  background-image: radial-gradient(circle, $inner-color, $outer-color);
}

@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
}

Sass utilities API

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

"background-color": (
  property: background-color,
  class: bg,
  local-vars: (
    "bg-opacity": 1
  ),
  values: map-merge(
    $utilities-bg-colors,
    (
      "transparent": transparent,
      "body-secondary": rgba(var(--#{$prefix}secondary-bg-rgb), var(--#{$prefix}bg-opacity)),
      "body-tertiary": rgba(var(--#{$prefix}tertiary-bg-rgb), var(--#{$prefix}bg-opacity)),
    )
  )
),
"bg-opacity": (
  css-var: true,
  class: bg-opacity,
  values: (
    10: .1,
    25: .25,
    50: .5,
    75: .75,
    100: 1
  )
),
"subtle-background-color": (
  property: background-color,
  class: bg,
  values: $utilities-bg-subtle
),