Toggle Button Light/Dark Mode Using HTML & CSS

Hello wizards, I hope you are doing great. Today in this blog you’ll learn how to create the "Toggle Button Light/Dark Mode" project using HTML & CSS.

Preview 

In the above video, you’ve seen the preview of the "Toggle Button Light/Dark Mode" project and I hope you are now able to create this type of project. If not, I have provided all the HTML & CSS code below. 

Toggle Button Light/Dark Mode [Source Code] 

To get the following HTML & CSS code for the Toggle Button Light/Dark Mode project. You need to create two files one is an HTML file, and the second one is a CSS file. After completing these two files, you can copy-paste the codes on your document. 

Remember, you’ve to create a file with a .html extension for HTML code and a .css extension for CSS code.

You can also download all source code files from the given download button.

HTML
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Toggle Button Light/Dark Mode</title>
    <link rel="stylesheet" href="style.css">

</head>

<body>

    <input type="checkbox" id="darkMode">
    <h1>Toggle Button Light/Dark Mode</h1>
    <label for="darkMode"></label>
    <div class="bg"></div>

</body>

</html>
CSS
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100vh;
}

h1 {
  margin-bottom: 20px;
}

label {
  width: 480px;
  height: 180px;
  display: block;
  background: white;
  border-radius: 100px;
  cursor: pointer;
  box-shadow: inset 0px 0px 40px rgba(0, 0, 0, 0.9);
  position: relative;
}

label:after {
  content: "";
  height: 160px;
  width: 160px;
  background: black;
  border-radius: 100px;
  position: absolute;
  top: 10px;
  left: 10px;
  transition: 1s;
}

input {
  display: none;
}

input:checked ~ label {
  background: black;
  box-shadow: inset 0 0 40px rgba(255, 255, 255, 0.9);
}

input:checked ~ label:after {
  background-color: white;
  left: 310px;
}

.bg {
  background: white;
  position: absolute;
  width: 100%;
  height: 100vh;
  z-index: -99;
  transition: 1s;
}

input:checked ~ .bg {
  background: black;
}

input:checked ~ h1 {
  color: white;
}
You have to wait 15 seconds.

Generating Download Link...

Post a Comment

Previous Post Next Post