Helpers
Color and background
Set a background color with contrasting foreground color.
View page source on GitHubOn this page
Overview#
Color and background helpers combine the power of the .text-* utilities and .bg-* utilities in one class. Each theme color comes with a matching ink color (--primary-ink, --warning-ink, …) that is used as the color on top of its background-color.
Heads up! CSS has no native color-contrast() function yet, so the ink colors are set by hand. When you re-dye a theme color such as --primary, check that its --primary-ink still has enough contrast, and change it too if needed.
<div class="text-bg-primary p-3">Primary with contrasting color</div>
<div class="text-bg-secondary p-3">Secondary with contrasting color</div>
<div class="text-bg-success p-3">Success with contrasting color</div>
<div class="text-bg-danger p-3">Danger with contrasting color</div>
<div class="text-bg-warning p-3">Warning with contrasting color</div>
<div class="text-bg-info p-3">Info with contrasting color</div>
<div class="text-bg-light p-3">Light with contrasting color</div>
<div class="text-bg-dark p-3">Dark with contrasting color</div>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.
In the felt look a .text-bg-* element becomes a patch: saturated felt with a soft dome of light, a darker cut edge and a cast shadow, like a felt button.
With components#
Use them in place of combined .text-* and .bg-* classes, like on badges:
<span class="badge text-bg-primary">Primary</span>
<span class="badge text-bg-info">Info</span>Or on cards:
Some quick example text to build on the card title and make up the bulk of the card's content.
Some quick example text to build on the card title and make up the bulk of the card's content.
<div class="card text-bg-primary mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
<div class="card text-bg-info mb-3" style="max-width: 18rem;">
<div class="card-header">Header</div>
<div class="card-body">
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>