I'm having trouble adding colors to bootstrap's color map.
This is my current import file:
// Required bootstrap components
@import "../../../node_modules/bootstrap/scss/functions";
$custom-colors: (
"custom-primary": #003767,
"custom-secondary": #007f2e,
"custom-success": #C00000,
"custom-info": #FF5000,
"custom-warning": #414A51,
"custom-danger": #E3E3E3,
"custom-light": #F0F0F0,
"custom-dark": #00B2CE,
);
@import "../../../node_modules/bootstrap/scss/variables";
// `$theme-colors` is one of the variable that's declared in variables.scss
// therefore this line of code has to be placed after the variables import
$theme-colors: map-merge($theme-colors, $custom-colors);
// but in order for this to take effect it needs to be before the variables import
// Custom bootstrap
// This file has nothing in it, hence commented
//@import "_custom";
@import "../../../node_modules/bootstrap/scss/mixins";
@import "../../../node_modules/bootstrap/scss/utilities";
.
.
.
According to bootstrap's documentation default overrides must be declared before the variables import but in order to use an existing variable it needs to be placed after the variables import.
The code above doesn't add the the custom colors and it doesn't give out an error either.
Zim's answer works but it does not work with bg-[color] classes, like these:
<!-- Works -->
<div class="p-3 mb-2 bg-primary text-white">.bg-primary</div>
<div class="p-3 mb-2 bg-secondary text-white">.bg-secondary</div>
<div class="p-3 mb-2 bg-success text-white">.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-dark">.bg-warning</div>
<div class="p-3 mb-2 bg-info text-dark">.bg-info</div>
<div class="p-3 mb-2 bg-light text-dark">.bg-light</div>
<div class="p-3 mb-2 bg-dark text-white">.bg-dark</div>
<div class="p-3 mb-2 bg-body text-dark">.bg-body</div>
<div class="p-3 mb-2 bg-white text-dark">.bg-white</div>
<div class="p-3 mb-2 bg-transparent text-dark">.bg-transparent</div>
<hr>
<!-- Doesn't work -->
<div class="p-3 mb-2 bg-custom-primary text-white">.bg-custom-primary</div>
<div class="p-3 mb-2 bg-custom-secondary text-white">.bg-custom-secondary</div>
<div class="p-3 mb-2 bg-custom-success text-white">.bg-custom-success</div>
<div class="p-3 mb-2 bg-custom-danger text-white">.bg-custom-danger</div>
<div class="p-3 mb-2 bg-custom-warning text-dark">.bg-custom-warning</div>
<div class="p-3 mb-2 bg-custom-info text-dark">.bg-custom-info</div>
<div class="p-3 mb-2 bg-custom-light text-dark">.bg-custom-light</div>
<div class="p-3 mb-2 bg-custom-dark text-white">.bg-custom-dark</div>
<div class="p-3 mb-2 bg-custom-body text-dark">.bg-custom-body</div>
<div class="p-3 mb-2 bg-custom-white text-dark">.bg-custom-white</div>
<div class="p-3 mb-2 bg-custom-transparent text-dark">.bg-custom-transparent</div>
I am using Bootstrap 5.1.3
How do you add custom colors to bootstrap 5?