Color plays a vital role in web design. When used effectively, colors can guide user actions, convey meaning, establish hierarchy and enhance aesthetics.
According to user behavior data, color increases brand recognition by up to 80%. Using appropriate text and background colors make interfaces more intuitive.
Bootstrap 5 provides a range of helper color utility classes that make styling efficient without custom CSS. This comprehensive guide explores how to optimize website interfaces with Bootstrap‘s text and background colors.
Overview of Text Color Utilities
Bootstrap 5 includes the following text color classes for styling content:
Primary Interface Text Colors
| Class | Description |
|---|---|
.text-primary |
Styles text blue to highlight important content |
.text-secondary |
Applies a gray color for secondary interface text |
.text-success |
Colors text green to communicate positive status |
.text-danger |
Colors text red to signal errors or failures |
.text-warning |
Makes text yellow to indicate warnings |
.text-info |
Uses a lighter blue for informational messages |
Additional Text Colors
| Class | Description |
|---|---|
.text-light |
Applies a light gray color |
.text-dark |
Colors text dark gray |
.text-body |
Sets text to default body content color |
.text-muted |
Causes text to appear muted or softened |
.text-white |
Allows white text, useful on dark backgrounds |
Transparent Text Colors
| Class | Description |
|---|---|
.text-black-50 |
50% transparent black text on white backgrounds |
.text-white-50 |
50% opaque white text on dark backgrounds |
These handy classes allow styling all sorts of interface text, notifications, labels and more. Some examples:
<!-- Primary call-to-action -->
<a class="btn btn-lg text-white bg-primary" href="#">
Start Trial
</a>
<!-- Error notification box -->
<div class="alert alert-danger text-danger" role="alert">
<strong>Error:</strong> Email address already registered
</div>
<!-- Warning label -->
<span class="badge text-warning bg-dark">
Pending Verification
</span>
Which outputs:
Appropriately styled text conveys meaning and guides user actions.
Background Color Utilities
For containers and page elements, Bootstrap has classes for setting background colors:
| Class | Description |
|---|---|
.bg-primary |
Brand primary blue background color |
.bg-secondary |
Lighter gray secondary background |
.bg-success |
Green background indicates positive signal |
.bg-danger |
Red background signals error |
.bg-warning |
Yellow indicates warning |
.bg-info |
Blue signifies neutral informative text |
.bg-light |
Applies a light background |
.bg-dark |
Used for dark backgrounds |
.bg-white |
White background color |
Some examples:
<!-- Primary call to action button -->
<button class="btn bg-primary text-white">
Try Now
</button>
<!-- Successful user notification -->
<div class="alert alert-success bg-success text-white">
Profile updated
</div>
<!-- Danger warning for admin section -->
<div class="bg-danger text-white">
This is an admin setting
</div>
Renders as:
Backgrounds draw attention while conveying meaning.
Implementing Color Themes
Primary and secondary text and background colors allow enforcing consistent themes:
Primary Brand Colors
Use .text-primary and .bg-primary classes to apply brand color (blue by default):
<div class="bg-primary text-white">
This uses primary blue theme
</div>
<a href="#" class="text-primary">
View details
</a>
Secondary Accent Colors
.text-secondary and .bg-secondary enable secondary shades like gray for accents:
<blockquote class="bg-secondary p-3">
This pull quote has a gray background
</blockquote>
<figcaption class="text-secondary">
Figure caption styled secondary gray
</figcaption>
Using primary and secondary colors this way promotes visual coherence.
Combining Colors for Callouts
Notification boxes gain emphasis by applying colors to both background and text:
<!-- Warning notification -->
<div class="alert alert-warning bg-warning text-dark">
<strong>Heads up!</strong> You have unused vacation days
</div>
<!-- Error notification -->
<div class="alert alert-danger bg-danger text-white">
<strong>Error!</strong> File upload failed
</div>
<!-- Success notification -->
<div class="alert alert-success bg-success text-white">
Payment processed correctly
</div>
Renders as:
Appropriate color combinations highlight notifications to users.
Responsive Color Utilities
To apply colors only on certain viewports, add display utility classes:
<!-- Show warning on small screens only -->
<h1 class="text-warning d-md-none">
Heads up! Sale ending today
</h1>
<!-- Info message on large screens -->
<div class="bg-info text-dark d-none d-lg-block">
50% discount on annual plans
</div>
So colors can be conditionally used on mobile, tablet or desktop.
Customizing Bootstrap Color Variables
Bootstrap defines colors via Sass variables. The $theme-colors map contains pairs of color names and codes:
$theme-colors: (
"primary": #0d6efd,
"success": #28a745,
"danger": #dc3545
);
Before compiling Sass, these variables can be edited to customize shades.
For example to use darker blue and red shades:
$theme-colors: (
"primary": #2980b9,
"danger": #c0392b
);
Then text and background color utilities will use these customized values.
Implementing Additional Tones
Need more colors than Bootstrap‘s defaults provide? You can easily extend the $theme-colors map.
Let‘s add some additional shades:
$theme-colors: (
"primary": #0d6efd,
"secondary": #6c757d,
"success": #28a745,
"danger": #dc3545,
"orange": #fd7e14,
"forest": #28a745,
"violet": #9b51e0
);
This allows using classes like:
<span class="text-orange">
Orange text
</span>
<div class="bg-violet text-white">
Section with violet background
</div>
So any number of custom tones can be defined this way.
Considering Color Contrast for Accessibility
To ensure content remains accessible for those with visual impairments, sufficient contrast ratios between foreground and background colors should be maintained:
- Minimum 4.5:1 contrast ratio for normal text
- Minimum 3:1 ratio for large text (120-150% bigger)
- 3:1 for UI components like forms, alerts, notifications
Tools like WebAIM‘s Color Contrast Checker make checking combinations easy.
For example, verifying our success notification earlier:
The green on white pass with 15.1:1 ratio, so remains accessible.
Adjust hues Opacities may be required to reach suitable ratios. Bringing down success background opacity to 85% achieves 4.5:1 threshold.
Additional Color-Related Utilities
Besides text and background colors, Bootstrap 5 also offers these useful color utilities:
SVG Icons
Bootstrap icons can be styled via bi-* classes:
<!-- Primary danger icon -->
<svg class="bi text-danger" fill="currentColor">
<use xlink:href="bootstrap-icons.svg#x-circle-fill"/>
</svg>
<!-- Large secondary info icon -->
<svg class="bi text-secondary bi-info-circle-fill" style="font-size: 32px;">
</svg>
Borders
Add colored borders with .border and .border-* classes:
<!-- Blue border -->
<div class="border border-primary">
</div>
<!-- Red border -->
<span class="border border-danger">
</span>
Decorators
Apply top and bottom colored stripes with .text-* classes:
<h1 class="text-danger">
Heading with danger stripes
</h1>
Migrating Colors from Bootstrap 4
Bootstrap 5 condensed many color variables down into the $theme-colors Sass map, while v4 used individual variables:
Bootstrap 4
$primary: #0275d8;
$success: #5cb85c;
$danger: #d9534f;
Bootstrap 5
$theme-colors: (
"primary": #0d6efd,
"success": #28a745,
"danger": #dc3545
);
So when migrating, map previous colors to the new structure.
Some destination colors also changed from v4. For example, default primary blue is now darker, while default danger red changed to a brighter shade. Adjust hues accordingly when upgrading.
Conclusion
Colors profoundly impact aesthetics and UX. Bootstrap 5 helper classes allow efficiently applying colors without managing custom CSS.
Strategically leverage text and background colors to:
- Establish visual hierarchy
- Reinforce meaning
- Guide user actions
- Increase scanability
Combine shades to create visually engaging accent sections. Use Sass variables to customize palettes and themes.
By mastering Bootstrap color utilities, developers craft intuitive, accessible, and aesthetically-pleasing websites and apps.


