DEV Community

Cover image for Dark Mode in TailwindCSS with JavaScript
taiseen
taiseen

Posted on • Edited on

Dark Mode in TailwindCSS with JavaScript

For enable dark mode at TailwindCSS you need 3 step of work:

1️⃣ in tailwind.config.js file
2️⃣ in HTMl file
3️⃣ in JavaScript file

For 🔆 & 🌙 icon, use Font-Awesome CDN 🔗📌

Step - 1️⃣

at tailswind.config.js fill add this line of code...

darkMode: "class",

Step - 2️⃣

add these classes inside your HTML file...

<html lang="en" class="dark">
<head>
    <style>
        .effect {
            transform: rotate(360deg);
        }
    </style>
</head>

<body class="dark:bg-gray-900 dark:text-gray-200">

    <div id='themeToggle' class="px-3 py-2 rounded-sm absolute top-4 right-4 cursor-pointer hover:text-orange-400 dark:bg-gray-700 bg-gray-300 ">
        <i class="fas fa-sun text-xl transition ease-linear duration-500"></i>
    </div>

    <script src="./script.js"></script>
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Step - 3️⃣

create & add these code snippet inside your script.js file...

let html = document.querySelector("html");
let themeToggle = document.getElementById('themeToggle');

themeToggle.addEventListener('click', () => {

    themeToggle.children[0].classList.toggle('fa-sun');
    themeToggle.children[0].classList.toggle('fa-moon');
    themeToggle.children[0].classList.toggle('effect');
    html.classList.toggle('dark');  

});
Enter fullscreen mode Exit fullscreen mode

Hope its will work at your end... 😎
Happy Codding... 👍

Top comments (0)