Source Code Of Dark & Light Theme Website

Folder Structure

Folder Structure

Resources

Resources

Codes

HTML

index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!--------------- CSS ---------------------> <link rel="stylesheet" href="style.css"> <title>Source Code Of Dark & Light Theme Website</title> <!--------------- IONICONS ---------------------> <script src="https://unpkg.com/ionicons@4.5.10-0/dist/ionicons.js"></script> </head> <body> <div class="container"> <nav> <img src="images/logo.png" alt="logo" class="logo"> <ul> <li><a href="">HOME</a></li> <li><a href="">ABOUT</a></li> <li><a href="">SERVICE</a></li> <li><a href="">CONTACT US</a></li> </ul> <ion-icon id="icon" class="moon" name="moon"></ion-icon> </nav> <div class="content"> <h1>Stock <span>Photos</span></h1> <p>Beautiful, free images and photos that you can download and use for any project. <br> than any royalty free or stock photos.</p> <a href="">Free Images</a> </div> <div class="img_box"> <img src="images/background.png" alt="background" class="background_img"> <img src="images/image-1.png" alt="imgage" class="main_img"> </div> <div class="social_icons"> <ion-icon class="social_icon" name="logo-facebook"></ion-icon> <ion-icon class="social_icon" name="logo-whatsapp"></ion-icon> <ion-icon class="social_icon" name="logo-twitter"></ion-icon> <ion-icon class="social_icon" name="logo-instagram"></ion-icon> </div> </div> <!--------------- SCRIPT ---------------------> <script src="script.js"></script> </body> </html>

CSS

style.css
/*----------------- GOOGLE FONTS -----------------*/ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;500;600&display=swap'); /*----------------- VARIABLES -----------------*/ :root { /* Colors */ --orange-color: rgb(246, 99, 53); --primary-color: rgb(27, 31, 41); --text-color: rgb(96, 97, 99); --secondary-color: rgb(237, 242, 252); --white-color: rgb(255, 255, 255); --para-color:rgb(96, 97, 99); --dark-color:rgb(27, 31, 41); --yellow-color: rgb(253, 184, 19); } html{ font-size: 10px; /* Now 1rem = 10px */ } * { box-sizing: border-box; padding: 0; margin: 0; font-family: 'Poppins', sans-serif; } .dark-theme { --primary-color: rgb(237, 242, 252); --secondary-color: rgb(27, 31, 41); } .container { width: 100%; height: 100vh; position: relative; background: var(--secondary-color); } nav { width: 84%; margin: auto; display: flex; align-items: center; justify-content: space-between; } .logo { width: 15rem; cursor: pointer; } nav ul { flex: 1; text-align: right; } nav ul li { display: inline-block; list-style: none; margin: 1rem 2rem; } nav ul li a { text-decoration: none; color: var(--text-color); font-size: 1.6rem; position: relative; padding: 1rem; font-weight: 600; z-index: 10; transition: 0.5s; } nav ul li a::before { content: ''; width: 100%; height: 0rem; background: var(--orange-color); position: absolute; z-index: -1; left: 0; bottom: -0.5rem; border-bottom-left-radius: 0.8rem; border-bottom-right-radius: 0.8rem; transition: 0.5s; } nav ul li a:hover { color: var(--white-color); } nav ul li a:hover::before { height: 10.5rem; } .content { margin-left: 8%; margin-top: 8%; } .content h1 { font-size: 7rem; color: var(--text-color); margin-bottom: 1.5rem; text-transform: uppercase; } .content h1 span { color: var(--orange-color); } .content p { color: var(--para-color); line-height: 2.2rem; font-size: 1.6rem; } .content a { background: var(--primary-color); font-size: 1.6rem; padding: 1rem 1.8rem; text-decoration: none; color: var(--secondary-color); display: inline-block; margin: 3rem 0; border-radius: 0.5rem; text-transform: uppercase; transition: 0.5s; letter-spacing: 0.1rem; font-weight: 500; clip-path: polygon(12% 0, 89% 0, 100% 50%, 87% 100%, 13% 100%, 0% 50%); } .content a:hover { background-color: var(--orange-color); color: var(--white-color); letter-spacing: 0.2rem; clip-path: polygon(88% 0, 100% 50%, 89% 100%, 0% 100%, 8% 51%, 0% 0%); } .img_box { width: 45%; height: 80%; position: absolute; bottom: 0; right: 7rem; } .img_box img { height: 100%; position: absolute; transition: 0.5s; } .img_box .background_img { right: 0; bottom: 0; } .img_box .main_img { left: 50%; bottom: 0; transform: translateX(-50%); } .img_box:hover .background_img { bottom: 2rem; } .img_box:hover .main_img { left: 54%; } .social_icons { margin-left: 8%; margin-top: 10rem; } .social_icons .social_icon { font-size: 3rem; margin-right: 2rem; color: var(--primary-color); transition: 0.3s; cursor: pointer; } .social_icons .social_icon:hover { color: var(--orange-color); } #icon { font-size: 2.5rem; cursor: pointer; } .moon{ color: var(--dark-color); } .sun{ color: var(--yellow-color); }

JavaScript

script.js
var icon = document.getElementById("icon"); icon.onclick = function(){ document.body.classList.toggle("dark-theme"); if(document.body.classList.contains("dark-theme")){ icon.name = "sunny"; icon.classList.remove("moon"); icon.classList.add("sun"); }else{ icon.name = "moon"; icon.classList.remove("sun"); icon.classList.add("moon"); } }

YouTube Video

Download Source Code

Don’t forget to share this post!