In this article, we will create a custom utility classes for your Theme colors using CSS variables and Tailwindcss.
1. Define your variables
// On your main css file
:root {
	--primary: theme("colors.blue.500");
  --secondary: theme("colors.blue.200");
}
.th-theme {
  --primary: theme("colors.red.500");
  --secondary: theme("colors.red.200");
}
The :root selector matches the document's root element, so no need for a class or an id on your html code. Anything under :root would be the default theme.
To apply a custom theme you have to apply that  .th-theme class to the component, or even use it on the <body> tag to apply a page-wide theme.
2. Configure Tailwind
Now open the tailwind.config.js file and we going to add in the new colors under the extend object.
// tailwind.config.js
module.exports = {
  theme: {
     extend: {
         colors: {
                ...defaultTheme.colors,
                'primary': 'var(--primary)',
                'secondary': 'var(--secondary)',
            },
     },
}
3. How to use theme on HTML

<div class="flex flex-col space-y-12" title="content">
    <!--Component with default (blue) theme-->
<div class="bg-primary">
  <h3 class="bg-secondary text-primary">Title</h3>
  <div>
    <p>Be the first to hear about our new offerings</p>
  </div>
</div>
<!--Component with red theme-->
<div class="th-theme bg-primary ">
  <h3 class="bg-secondary text-primary">Join our mailing list</h3>
  <div>
    <p>Be the first to hear about our new offerings</p>
  </div>
</div>
</div>
 
     
                                
Comments (0)