Theme

Bootstrap 5 Theme

Theming system enables you to customize the appearance of all MDB components.

Appearance customization options enable you to create skins for your Bootstrap 5 project. Use predefined dark theme, light theme or create custom themes.

See an example of a dark-theme created using our theme system.


Create a new theme

Creating a theme requires recompiling the scss styles, for this purpose we recommend using Webpack, Vite or Parcel starter.

Creating a new theme requires that you define primary and secondary colors for your application. We prepared functions and mixins that will help you to create a ready to use theme using these colors.

Go to your project created with one of MDB Starter, open styles.scss file located in src/scss/ folder and replace the code there with the following code:

        
            
          @import '~mdb-ui-kit/src/scss/mdb.pro.scss';

          $my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
          $my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

          $my-theme: mdb-light-theme($my-theme-primary, $my-theme-secondary); // create the new theme using primary and secondary colors

          // include theme styles
          @include mdb-theme($my-theme);
        
        
    

Light theme

It's possible to create a light theme using mdb-light-theme function. You just need to define primary and secondary colors, all other parameters will be adjusted automatically.

        
            
            @import '~mdb-ui-kit/src/scss/mdb.pro.scss';

            $my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
            $my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

            $my-light-theme: mdb-light-theme($my-theme-primary, $my-theme-secondary); // create the new light theme using primary and secondary colors

            // include theme styles
            @include mdb-theme($my-light-theme);
          
        
    

Dark theme

It's possible to create a dark theme using mdb-dark-theme function. You just need to define primary and secondary colors, all other parameters will be adjusted automatically.

        
            
            @import '~mdb-ui-kit/src/scss/mdb.pro.scss';

            $my-theme-primary: #9c27b0; // theme primary color, change this value to customize theme
            $my-theme-secondary: #69f0ae; // theme secondary color, change this value to customize theme

            $my-dark-theme: mdb-dark-theme($my-theme-primary, $my-theme-secondary); // create the new dark theme using primary and secondary colors

            // include theme styles
            @include mdb-theme($my-dark-theme);
          
        
    

Ready-to-use dark skin

For your convenience, we added a ready-to-use dark skin to our UI KIT. Installation is very easy, because you just need to replace the current mdb.min.css stylesheet path with mdb.dark.min.css. The files are located in the css folder.

        
            
          <link rel="stylesheet" href="css/mdb.dark.min.css" />
        
        
    

Skin toggler

It's possible to create a skin toggler. Create a dark theme inside your main scss file, but this time wrap @include rule with any custom class. Then add the button switch to toggle this class for the body element.

        
            
            @import '~mdb-ui-kit/src/scss/mdb.pro.scss';

            // DARK SKIN
            $my-theme-primary: #1266f1;
            $my-theme-secondary: #b23cfd;
            $my-dark-theme: mdb-dark-theme($my-theme-primary, $my-theme-secondary);

            .dark {
              @include mdb-theme($my-dark-theme);
            }
          
        
    
        
            
            <button class="btn btn-primary" id="skinToggler">Toggle skin</button>
          
        
    
        
            
            const skinToggler = document.getElementById('skinToggler');
            
            const toggleSkin = () => {
              document.body.classList.toggle('dark');
            }

            skinToggler.addEventListener('click', toggleSkin);
          
        
    
Instead of making changes to the scss file, you can also use compiled css files and switch between <link rel="stylesheet" href="css/mdb.min.css" /> and <link rel="stylesheet" href="css/mdb.dark.min.css" /> after clicking the toggle button.