Halloween is a time for thrills, chills, and creative fun. In the world of web design, it offers a perfect opportunity to create a themed landing page that captures the spooky spirit and engages visitors with eerie animations and interactive elements.
In this blog post, we’ll embark on a thrilling journey to build a Halloween-themed landing page using HTML, CSS, and JavaScript. By leveraging the capabilities of these core web technologies, we’ll create a visually stunning and interactive page that will delight and intrigue your audience.
I would recommend you don’t just copy and paste the code, just look at the code and type by understanding it.
Demo
See the Pen Halloween Landing Page by DivDev (@krautgti) on CodePen.
HTML Code
Starter Template
<!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- CSS --> <link rel="stylesheet" href="style.css"> <title>Halloween Landing Page using HTML, CSS and JavaScript - Coding Torque</title> </head> <body> <!-- Further code here --> <script src="script.js"></script> </body> </html>
Paste the below code in your <body>
tag.
<!-- HEADER --> <header class="header" id="header"> <nav class="nav container"> <a href="#" class="nav__logo"> Spooky </a> <div class="nav__menu" id="nav-menu"> <ul class="nav__list"> <li class="nav__item"> <a href="#home" class="nav__link active-link">Graveyard</a> </li> <li class="nav__item"> <a href="#about" class="nav__link">Track Record</a> </li> <li class="nav__item"> <a href="#trick" class="nav__link">Services</a> </li> <li class="nav__item"> <a href="#new" class="nav__link">Know More</a> </li> <a href="#" class="button button--ghost">Support</a> </ul> <div class="nav__close" id="nav-close"> <i class='bx bx-x'></i> </div> <img src="https://assets.codepen.io/7773162/nav-img.png" alt="" class="nav__img"> </div> <div class="nav__toggle" id="nav-toggle"> <i class='bx bx-grid-alt'></i> </div> </nav> </header> <main class="main"> <!-- HOME --> <section class="home container" id="home"> <div class="swiper home-swiper"> <div class="swiper-wrapper"> <!-- HOME SLIDER 1 --> <section class="swiper-slide"> <div class="home__content grid"> <div class="home__group"> <img src="https://assets.codepen.io/7773162/home3-img.png" alt="" class="home__img"> <div class="home__indicator"></div> <div class="home__details-img"> <h4 class="home__details-title">Captain Sem</h4> <span class="home__details-subtitle">Veteran Spooky Ghost</span> </div> </div> <div class="home__data"> <h3 class="home__subtitle">#1 Top Scariest Ghost</h3> <h1 class="home__title">RESPAWN <br> THE SPOOKY <br> SKULL </h1> <p class="home__description">In search for cute little puppy, Captain Sem has come back from his tragic death. With his hogwarts certified power he promise to be a hero for all of <strong>ghostkind. </strong></p> <div class="home__buttons"> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%281%29_3.svg" alt="" /> </a> <a href="#" class="button--link button--flex">Track Record <i class='bx bx-right-arrow-alt button__icon'></i> </a> </div> </div> </div> </section> <!-- HOME SLIDER 2 --> <section class="swiper-slide"> <div class="home__content grid"> <div class="home__group"> <img src="https://assets.codepen.io/7773162/home2-img.png" alt="" class="home__img"> <div class="home__indicator"></div> <div class="home__details-img"> <h4 class="home__details-title">Adino & Grahami</h4> <span class="home__details-subtitle">No words can describe them</span> </div> </div> <div class="home__data"> <h3 class="home__subtitle">#2 top Best duo</h3> <h1 class="home__title">BRING BACK <br> MY COTTON <br> CANDY </h1> <p class="home__description">Adino steals cotton candy from his brother and eats them all in one bite, a hungry beast. Grahami can no longer contain his anger towards Adino. </p> <div class="home__buttons"> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%281%29_3.svg" alt="" /> </a> <a href="#" class="button--link button--flex">Track Record <i class='bx bx-right-arrow-alt button__icon'></i> </a> </div> </div> </div> </section> <!-- HOME SLIDER 3 --> <section class="swiper-slide"> <div class="home__content grid"> <div class="home__group"> <img src="https://assets.codepen.io/7773162/home1-img.png" alt="" class="home__img"> <div class="home__indicator"></div> <div class="home__details-img"> <h4 class="home__details-title">The Labu “Reiza”</h4> <span class="home__details-subtitle">The Living Pumpkin</span> </div> </div> <div class="home__data"> <h3 class="pumpkin__subtitle">#3 Top Scariest Ghost 2020</h3> <h1 class="home__title">UOOOO <br> TRICK OR <br> TREAT!! </h1> <p class="home__description">Hi I’m Reiza, people call me “The Labu” currently I’m trying to learn something new, building my own bike with parts only made from Malaysia. </p> <div class="home__buttons"> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%282%29_2.svg" alt="" /> </a> <a href="#" class="button--link button--flex">Track Record <i class='bx bx-right-arrow-alt button__icon'></i> </a> </div> </div> </div> </section> </div> <div class="swiper-pagination"></div> </div> </section> <!-- CATEGORY --> <section class="section category"> <h2 class="section__title">Favorite Scare <br> Category </h2> <div class="category__container container grid"> <div class="category__data"> <img src="https://assets.codepen.io/7773162/category1-img.png" alt="" class="category__img"> <h3 class="category__title">Ghosts</h3> <p class="category__description">Choose the ghosts, the scariest there are.</p> </div> <div class="category__data"> <img src="https://assets.codepen.io/7773162/category2-img.png" alt="" class="category__img"> <h3 class="category__title">Pumpkins</h3> <p class="category__description">You look at the scariest pumpkins there is.</p> </div> <div class="category__data"> <img src="https://assets.codepen.io/7773162/category3-img.png" alt="" class="category__img"> <h3 class="category__title">Witch Hat</h3> <p class="category__description">Pick the most stylish witch hats out there.</p> </div> </div> </section> <!-- ABOUT --> <section class="section about" id="about"> <div class="about__container container grid"> <div class="about__data"> <h2 class="section__title about__title">About Halloween <br> Night </h2> <p class="about__description">Night of all the saints, or all the dead, is celebrated on October 31 and it is a very fun international celebration, this celebration comes from ancient origins, and is already celebrated by everyone. </p> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%281%29_3.svg" alt="" /> </a> </div> <img src="https://assets.codepen.io/7773162/about-img.png" alt="" class="about__img"> </div> </section> <!-- TRICK OR TREAT --> <section class="section trick" id="trick"> <h2 class="section__title">Trick Or Treat</h2> <div class="trick__container container grid"> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat1-img.png" alt="" class="trick__img"> <h3 class="trick__title">Toffee</h3> <span class="trick__subtitle">Candy</span> <span class="trick__price">$11.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat2-img.png" alt="" class="trick__img"> <h3 class="trick__title">Bone</h3> <span class="trick__subtitle">Accessory</span> <span class="trick__price">$8.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat3-img.png" alt="" class="trick__img"> <h3 class="trick__title">Scarecrow</h3> <span class="trick__subtitle">Accessory</span> <span class="trick__price">$15.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat4-img.png" alt="" class="trick__img"> <h3 class="trick__title">Candy Cane</h3> <span class="trick__subtitle">Candy</span> <span class="trick__price">$7.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat5-img.png" alt="" class="trick__img"> <h3 class="trick__title">Pumpkin</h3> <span class="trick__subtitle">Candy</span> <span class="trick__price">$19.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> <div class="trick__content"> <img src="https://assets.codepen.io/7773162/trick-treat6-img.png" alt="" class="trick__img"> <h3 class="trick__title">Ghost</h3> <span class="trick__subtitle">Accessory</span> <span class="trick__price">$17.99</span> <button class="button trick__button"> <i class='bx bx-cart-alt trick__icon'></i> </button> </div> </div> </section> <!-- DISCOUNT --> <section class="section discount"> <div class="discount__container container grid"> <div class="discount__data"> <h2 class="discount__title">50% Discount <br> On New Products </h2> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%281%29_3.svg" alt="" /> </a> </div> <img src="https://assets.codepen.io/7773162/discount-img.png" alt="" class="discount__img"> </div> </section> <!-- NEW ARRIVALS --> <section class="section new" id="new"> <h2 class="section__title">New Arrivals</h2> <div class="new__container container"> <div class="swiper new-swiper"> <div class="swiper-wrapper"> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new1-img.png" alt="" class="new__img"> <h3 class="new__title">Haunted House</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$14.99</span> <span class="new__discount">$29.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new2-img.png" alt="" class="new__img"> <h3 class="new__title">Halloween Candle</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$11.99</span> <span class="new__discount">$21.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new3-img.png" alt="" class="new__img"> <h3 class="new__title">Witch Hat</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$4.99</span> <span class="new__discount">$9.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new4-img.png" alt="" class="new__img"> <h3 class="new__title">Rip</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$24.99</span> <span class="new__discount">$44.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new5-img.png" alt="" class="new__img"> <h3 class="new__title">Terrifying Crystal Ball</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$5.99</span> <span class="new__discount">$12.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> <div class="new__content swiper-slide"> <div class="new__tag"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%286%29_1.svg" alt="" /> </div> <img src="https://assets.codepen.io/7773162/new6-img.png" alt="" class="new__img"> <h3 class="new__title">Witch Broom</h3> <span class="new__subtitle">Accessory</span> <div class="new__prices"> <span class="new__price">$7.99</span> <span class="new__discount">$14.99</span> </div> <button class="button new__button"> <i class='bx bx-cart-alt new__icon'></i> </button> </div> </div> </div> </div> </section> <!-- OUR NEWSLETTER --> <section class="section newsletter"> <div class="newsletter__container container"> <h2 class="section__title">Our Newsletter</h2> <p class="newsletter__description"> Promotion new products and sales. Directly to your inbox </p> <form action="" class="newsletter__form"> <input type="text" placeholder="Enter your email" class="newsletter__input"> <a href="#" class="book--now"> <img src="https://assets.codepen.io/7773162/svgviewer-output+%281%29_3.svg" alt="" /> </a> </form> </div> </section> </main> <!-- SCROLL UP --> <a href="#" class="scrollup" id="scroll-up"> <i class='bx bx-up-arrow-alt scrollup__icon'></i> </a>
CSS Code
Create a file style.css and paste the code below.
/* GOOGLE FONTS */ @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;900&display=swap"); /* VARIABLES CSS */ :root { --header-height: 3.5rem; /* Colors */ --hue: 14; --first-color: hsl(var(--hue), 91%, 54%); --first-color-alt: hsl(var(--hue), 91%, 50%); --title-color: hsl(var(--hue), 4%, 100%); --text-color: hsl(var(--hue), 4%, 85%); --text-color-light: hsl(var(--hue), 4%, 55%); /*Red gradient*/ --body-color: linear-gradient( 90deg, hsl(338, 67%, 11%) 0%, hsl(281, 63%, 10%) 100% ); --container-color: linear-gradient( 136deg, hsl(338, 67%, 11%) 0%, hsl(281, 63%, 10%) 100% ); --sub: #ff5b79; /* Font and typography */ --body-font: "Poppins", sans-serif; --biggest-font-size: 2rem; --h1-font-size: 1.5rem; --h2-font-size: 1.25rem; --h3-font-size: 1rem; --normal-font-size: 0.938rem; --small-font-size: 0.813rem; --smaller-font-size: 0.75rem; /* Font weight */ --font-medium: 500; --font-semi-bold: 600; --font-black: 900; /* Margenes Bottom */ --mb-0-25: 0.25rem; --mb-0-5: 0.5rem; --mb-0-75: 0.75rem; --mb-1: 1rem; --mb-1-5: 1.5rem; --mb-2: 2rem; --mb-2-5: 2.5rem; /* z index */ --z-tooltip: 10; --z-fixed: 100; } /* Responsive typography */ @media screen and (min-width: 992px) { :root { --biggest-font-size: 4rem; --h1-font-size: 2.25rem; --h2-font-size: 1.5rem; --h3-font-size: 1.25rem; --normal-font-size: 1rem; --small-font-size: 0.875rem; --smaller-font-size: 0.813rem; } } /* BASE */ * { box-sizing: border-box; padding: 0; margin: 0; } html { scroll-behavior: smooth; } body { margin: var(--header-height) 0 0 0; font-family: var(--body-font); font-size: var(--normal-font-size); background: var(--body-color); color: var(--text-color); transition: 0.3s; } h1, h2, h3, h4 { color: var(--title-color); font-weight: var(--font-semi-bold); } ul { list-style: none; } a { text-decoration: none; } img { max-width: 100%; height: auto; } button, input { border: none; outline: none; } button { cursor: pointer; font-family: var(--body-font); font-size: var(--normal-font-size); } /* REUSABLE CSS CLASSES */ .section { padding: 4.5rem 0 2rem; } .section__title { font-size: var(--h2-font-size); margin-bottom: var(--mb-2); text-align: center; } /* LAYOUT */ .container { max-width: 968px; margin-left: var(--mb-1-5); margin-right: var(--mb-1-5); } .grid { display: grid; } .main { overflow: hidden; /*For animation*/ } /* HEADER */ .header { width: 100%; background: var(--body-color); position: fixed; top: 0; left: 0; z-index: var(--z-fixed); } /* NAV */ .nav { height: var(--header-height); display: flex; justify-content: space-between; align-items: center; } .nav__logo { display: flex; align-items: center; column-gap: 0.5rem; font-weight: var(--font-medium); } .nav__logo-img { width: 1.25rem; } .nav__link, .nav__logo, .nav__toggle, .nav__close { color: var(--sub); } .nav__toggle { font-size: 1.25rem; cursor: pointer; } @media screen and (max-width: 767px) { .nav__menu { position: fixed; width: 100%; background: var(--container-color); top: -150%; left: 0; color: #ff5b79; padding: 3.5rem 0; transition: 0.4s; z-index: var(--z-fixed); border-radius: 0 0 1.5rem 1.5rem; } } .nav__img { width: 100px; position: absolute; top: 0; left: 0; } .nav__close { font-size: 1.8rem; position: absolute; top: 0.5rem; right: 0.7rem; cursor: pointer; } .nav__list { display: flex; flex-direction: column; align-items: center; row-gap: 1.5rem; } .nav__link { text-transform: uppercase; font-weight: var(--font-black); transition: 0.4s; } .nav__link:hover { color: var(--text-color); } /* Show menu */ .show-menu { top: 0; } /* Change background header */ .scroll-header { background: var(--container-color); } /* Active link */ .active-link { position: relative; } .active-link::before { content: ""; position: absolute; bottom: -0.75rem; left: 45%; width: 5px; height: 5px; background-color: var(--sub); border-radius: 50%; } /* HOME */ .home__content { row-gap: 1rem; } .home__group { display: grid; position: relative; padding-top: 2rem; } .home__img { height: 250px; justify-self: center; } .home__indicator { width: 8px; height: 8px; background-color: var(--title-color); border-radius: 50%; position: absolute; top: 7rem; right: 2rem; } .home__indicator::after { content: ""; position: absolute; width: 1px; height: 48px; background-color: var(--title-color); top: -3rem; right: 45%; } .home__details-img { position: absolute; right: 0.5rem; } .home__details-title, .home__details-subtitle { display: block; font-size: var(--small-font-size); text-align: right; } .home__subtitle { font-size: var(--h3-font-size); color: var(--sub); text-transform: uppercase; margin-bottom: var(--mb-1); } .pumpkin__subtitle { font-size: var(--h3-font-size); color: #ffffff; text-transform: uppercase; margin-bottom: var(--mb-1); } .home__title { font-size: var(--biggest-font-size); font-weight: var(--font-black); line-height: 109%; margin-bottom: var(--mb-1); } .home__description { margin-bottom: var(--mb-1); } .home__buttons { display: flex; justify-content: space-between; } /* Swiper Class */ .swiper-pagination { position: initial; margin-top: var(--mb-1); } .swiper-pagination-bullet { width: 5px; height: 5px; background-color: var(--title-color); opacity: 1; } .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 0.5rem; } .swiper-pagination-bullet-active { width: 1.5rem; height: 5px; border-radius: 0.5rem; } /* BUTTONS */ .button { display: inline-block; background-color: var(--first-color); color: var(--sub); padding: 1rem 1.75rem; border-radius: 0.5rem; font-weight: var(--font-medium); transition: 0.3s; } .button:hover { background-color: var(--first-color-alt); } .button__icon { font-size: 1.25rem; } .book--now { display: inline-block; transition: 0.3s; } .book--now:hover { transform: scale(1.2); } .button--ghost { border: 2px solid; background-color: transparent; border-radius: 3rem; padding: 0.75rem 1.5rem; } .button--ghost:hover { background: none; } .button--link { color: var(--title-color); } .button--flex { display: inline-flex; align-items: center; column-gap: 0.5rem; } /* CATEGORY */ .category__container { grid-template-columns: repeat(2, 1fr); gap: 1rem 2rem; } .category__data { text-align: center; } .category__img { width: 120px; margin-bottom: var(--mb-0-75); transition: 0.3s; } .category__title { margin-bottom: var(--mb-0-25); } .category__data:hover .category__img { transform: translateY(-0.5rem); } /* ABOUT */ .about__container { row-gap: 2rem; } .about__data { text-align: center; } .about__description { margin-bottom: var(--mb-2); } .about__img { width: 200px; justify-self: center; animation: floating 2s ease-in-out infinite; } /* TRICK OR TREAT */ .trick__container { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; padding-top: 1rem; } .trick__content { position: relative; background: var(--container-color); border-radius: 1rem; padding: 1.5rem 0 1rem 0; text-align: center; overflow: hidden; } .trick__img { width: 90px; transition: 0.3s; } .trick__subtitle, .trick__price { display: block; } .trick__subtitle { font-size: var(--smaller-font-size); margin-bottom: var(--mb-0-5); } .trick__title, .trick__price { color: var(--title-color); font-weight: var(--font-medium); font-size: var(--normal-font-size); } .trick__button { display: inline-flex; padding: 0.5rem; border-radius: 0.25rem 0.25rem 0.75rem 0.25rem; position: absolute; right: -3rem; bottom: 0; } .trick__icon { font-size: 1.25rem; color: var(--title-color); } .trick__content:hover .trick__img { transform: translateY(-0.5rem); } .trick__content:hover .trick__button { right: 0; } /* DISCOUNT */ .discount__container { background: var(--container-color); border-radius: 1rem; padding: 2.5rem 0 1.5rem; row-gap: 0.75rem; } .discount__data { text-align: center; } .discount__title { font-size: var(--h2-font-size); margin-bottom: var(--mb-2); } .discount__img { width: 200px; justify-self: center; } /* NEW ARRIVALS */ .new__container { padding-top: 1rem; } .new__img { width: 120px; margin-bottom: var(--mb-0-5); transition: 0.3s; } .new__content { position: relative; background: var(--container-color); width: 242px; padding: 2rem 0 1.5rem 0; border-radius: 0.75rem; text-align: center; overflow: hidden; } .new__tag { position: absolute; top: 8%; left: 8%; } .new__title { font-size: var(--normal-font-size); font-weight: var(--font-medium); } .new__subtitle { display: block; font-size: var(--small-font-size); margin-bottom: var(--mb-0-5); } .new__prices { display: inline-flex; align-items: center; column-gap: 0.5rem; } .new__price { font-weight: var(--font-medium); color: var(--title-color); } .new__discount { color: var(--first-color); font-size: var(--smaller-font-size); text-decoration: line-through; font-weight: var(--font-medium); } .new__button { display: inline-flex; padding: 0.5rem; border-radius: 0.25rem 0.25rem 0.75rem 0.25rem; position: absolute; bottom: 0; right: -3rem; } .new__icon { font-size: 1.25rem; } .new__content:hover .new__img { transform: translateY(-0.5rem); } .new__content:hover .new__button { right: 0; } /* NEWSLETTER */ .newsletter__description { text-align: center; margin-bottom: var(--mb-1-5); } .newsletter__form { background: var(--container-color); padding: 1rem; display: flex; justify-content: space-between; border-radius: 0.75rem; } .newsletter__input { width: 70%; padding: 0 0.5rem; background: none; color: var(--title-color); } .newsletter__input::placeholder { color: var(--text-color); } /* FOOTER */ .footer { position: relative; overflow: hidden; } .footer__img-one, .footer__img-two { position: absolute; transition: 0.3s; } .footer__img-one { width: 100px; top: 6rem; right: -2rem; } .footer__img-two { width: 150px; bottom: 4rem; right: 4rem; } .footer__img-one:hover, .footer__img-two:hover { transform: translateY(-0.5rem); } .footer__container { row-gap: 2rem; } .footer__logo { display: flex; align-items: center; column-gap: 0.5rem; margin-bottom: var(--mb-1); font-weight: var(--font-medium); color: var(--title-color); } .footer__logo-img { width: 20px; } .footer__description { margin-bottom: var(--mb-2-5); } .footer__social { display: flex; column-gap: 0.75rem; } .footer__social-link { display: inline-flex; background: var(--container-color); padding: 0.25rem; border-radius: 0.25rem; color: var(--title-color); font-size: 1rem; } .footer__social-link:hover { background: var(--body-color); } .footer__title { font-size: var(--h3-font-size); margin-bottom: var(--mb-1); } .footer__links { display: grid; row-gap: 0.35rem; } .footer__link { font-size: var(--small-font-size); color: var(--text-color); transition: 0.3s; } .footer__link:hover { color: var(--title-color); } .footer__copy { display: block; text-align: center; font-size: var(--smaller-font-size); margin-top: 4.5rem; } /* SCROLL UP */ .scrollup { position: fixed; background: var(--container-color); right: 1rem; bottom: -20%; display: inline-flex; padding: 0.3rem; border-radius: 0.25rem; z-index: var(--z-tooltip); opacity: 0.8; transition: 0.4s; } .scrollup__icon { font-size: 1.25rem; color: var(--title-color); } .scrollup:hover { background: var(--container-color); opacity: 1; } /* Show Scroll Up*/ .show-scroll { bottom: 3rem; } /* SCROLL BAR */ ::-webkit-scrollbar { width: 0.6rem; background: #413e3e; } ::-webkit-scrollbar-thumb { background: #272525; border-radius: 0.5rem; } /* BREAKPOINTS */ /* For small devices */ @media screen and (max-width: 320px) { .container { margin-left: var(--mb-1); margin-right: var(--mb-1); } .home__img { height: 200px; } .home__buttons { flex-direction: column; width: max-content; row-gap: 1rem; } .category__container, .trick__container { grid-template-columns: 0.8fr; justify-content: center; } } /* For medium devices */ @media screen and (min-width: 576px) { .about__container { grid-template-columns: 0.8fr; justify-content: center; } .newsletter__container { display: grid; grid-template-columns: 0.7fr; justify-content: center; } .newsletter__description { padding: 0 3rem; } } @media screen and (min-width: 767px) { body { margin: 0; } .section { padding: 7rem 0 2rem; } .nav { height: calc(var(--header-height) + 1.5rem); } .nav__img, .nav__close, .nav__toggle { display: none; } .nav__list { flex-direction: row; column-gap: 3rem; } .nav__link { text-transform: initial; font-weight: initial; } .home__content { padding: 8rem 0 2rem; grid-template-columns: repeat(2, 1fr); gap: 4rem; } .home__img { height: 300px; } .swiper-pagination { margin-top: var(--mb-2); } .category__container { grid-template-columns: repeat(3, 200px); justify-content: center; } .about__container { grid-template-columns: repeat(2, 1fr); align-items: center; } .about__title, .about__data { text-align: initial; } .about__img { width: 250px; } .trick__container { grid-template-columns: repeat(3, 200px); justify-content: center; gap: 2rem; } .discount__container { grid-template-columns: repeat(2, max-content); justify-content: center; align-items: center; column-gap: 3rem; padding: 3rem 0; border-radius: 3rem; } .discount__img { width: 350px; order: -1; } .discount__data { padding-right: 6rem; } .newsletter__container { grid-template-columns: 0.5fr; } .footer__container { grid-template-columns: repeat(4, 1fr); justify-items: center; column-gap: 1rem; } .footer__img-two { right: initial; bottom: 0; left: 15%; } } /* For large devices */ @media screen and (min-width: 992px) { .container { margin-left: auto; margin-right: auto; } .section__title { font-size: var(--h1-font-size); margin-bottom: 3rem; } .home__content { padding-top: 9rem; gap: 3rem; } .home__group { padding-top: 0; } .home__img { height: 400px; transform: translateY(-3rem); } .home__indicator { top: initial; right: initial; bottom: 15%; left: 45%; } .home__indicator::after { top: 0; height: 75px; } .home__details-img { bottom: 0; right: 58%; } .home__title { margin-bottom: var(--mb-1-5); } .home__description { margin-bottom: var(--mb-2-5); padding-right: 2rem; } .category__container { column-gap: 8rem; } .category__img { width: 200px; } .about__container { column-gap: 7rem; } .about__img { width: 350px; } .about__description { padding-right: 2rem; } .trick__container { gap: 3.5rem; } .trick__content { border-radius: 1.5rem; } .trick__img { width: 110px; } .trick__title { font-size: var(--h3-font-size); } .discount__container { column-gap: 7rem; } .new__content { width: 310px; border-radius: 1rem; padding: 2rem 0; } .new__img { width: 150px; } .new__img, .new__subtitle { margin-bottom: var(--mb-1); } .new__title { font-size: var(--h3-font-size); } .footer__copy { margin-top: 6rem; } } @media screen and (min-width: 1200px) { .home__img { height: 420px; } .swiper-pagination { margin-top: var(--mb-2-5); } .footer__img-one { width: 120px; } .footer__img-two { width: 180px; top: 30%; left: -3%; } } /* KEYFRAMES */ @keyframes floating { 0% { transform: translate(0, 0px); } 50% { transform: translate(0, 15px); } 100% { transform: translate(0, -0px); } } .skull-blur { position: absolute; width: 680px; height: 632px; left: -79px; top: 75%; background: linear-gradient( 142.97deg, rgba(0, 255, 133, 0.3) 17.43%, rgba(63, 239, 60, 0.22) 73.23% ); filter: blur(157.708px); }
JavaScript Code
Create a file script.js and paste the code below.
/* SHOW MENU */ const navMenu = document.getElementById("nav-menu"), navToggle = document.getElementById("nav-toggle"), navClose = document.getElementById("nav-close"); /* MENU SHOW */ /* Validate if constant exists */ if (navToggle) { navToggle.addEventListener("click", () => { navMenu.classList.add("show-menu"); }); } /* MENU HIDDEN */ /* Validate if constant exists */ if (navClose) { navClose.addEventListener("click", () => { navMenu.classList.remove("show-menu"); }); } /* REMOVE MENU MOBILE */ const navLink = document.querySelectorAll(".nav__link"); function linkAction() { const navMenu = document.getElementById("nav-menu"); // When we click on each nav__link, we remove the show-menu class navMenu.classList.remove("show-menu"); } navLink.forEach((n) => n.addEventListener("click", linkAction)); /* HOME SWIPER */ let homeSwiper = new Swiper(".home-swiper", { spaceBetween: 30, loop: "true", pagination: { el: ".swiper-pagination", clickable: true } }); /* change body's background color */ let root = document.documentElement; homeSwiper.on("transitionEnd", function (e) { if (this.activeIndex == 1) { root.style.setProperty( "--body-color", "linear-gradient(to right, #2E0916, #200A2B)" ); root.style.setProperty("--sub", "#ff5b79"); root.style.setProperty("--title-color", "#ffffff"); root.style.setProperty( "--container-color", "linear-gradient(136deg, #2E0916, #200A2B)" ); } if (this.activeIndex == 2) { root.style.setProperty( "--body-color", "linear-gradient(to right, #E8CAFB, #6A4FB6)" ); root.style.setProperty("--sub", "#303056"); root.style.setProperty("--title-color", "#303056"); root.style.setProperty( "--container-color", "linear-gradient(136deg, #E8CAFB, #6A4FB6)" ); } if (this.activeIndex == 3) { root.style.setProperty( "--body-color", "linear-gradient(to right, #5B874B, #0C3720)" ); root.style.setProperty("--sub", "#ffffff"); root.style.setProperty("--title-color", "#ffffff"); root.style.setProperty( "--container-color", "linear-gradient(136deg, #5B874B, #0C3720)" ); } }); /* CHANGE BACKGROUND HEADER */ function scrollHeader() { const header = document.getElementById("header"); // When the scroll is greater than 50 viewport height, add the scroll-header class to the header tag if (this.scrollY >= 50) header.classList.add("scroll-header"); else header.classList.remove("scroll-header"); } window.addEventListener("scroll", scrollHeader); /* NEW SWIPER */ let newSwiper = new Swiper(".new-swiper", { centeredSlides: true, slidesPerView: "auto", loop: "true", spaceBetween: 16 }); /* SCROLL SECTIONS ACTIVE LINK */ const sections = document.querySelectorAll("section[id]"); function scrollActive() { const scrollY = window.pageYOffset; sections.forEach((current) => { const sectionHeight = current.offsetHeight, sectionTop = current.offsetTop - 58, sectionId = current.getAttribute("id"); if (scrollY > sectionTop && scrollY <= sectionTop + sectionHeight) { document .querySelector(".nav__menu a[href*=" + sectionId + "]") .classList.add("active-link"); } else { document .querySelector(".nav__menu a[href*=" + sectionId + "]") .classList.remove("active-link"); } }); } window.addEventListener("scroll", scrollActive); /* SHOW SCROLL UP */ function scrollUp() { const scrollUp = document.getElementById("scroll-up"); // When the scroll is higher than 460 viewport height, add the show-scroll class to the a tag with the scroll-top class if (this.scrollY >= 460) scrollUp.classList.add("show-scroll"); else scrollUp.classList.remove("show-scroll"); } window.addEventListener("scroll", scrollUp); /* SCROLL REVEAL ANIMATION */ const sr = ScrollReveal({ origin: "top", distance: "60px", duration: 2500, delay: 400 // reset: true }); sr.reveal(`.home-swiper, .new-swiper, .newsletter__container`); sr.reveal(`.category__data, .trick__content, .footer__content`, { interval: 100 }); sr.reveal(`.about__data, .discount__img`, { origin: "left" }); sr.reveal(`.about__img, .discount__data`, { origin: "right" });
Final Output
Written by: Piyush Patil
Code Credits: https://codepen.io/krautgti/pen/KKRRGdN
If you found any mistakes or have any doubts please feel free to Contact Us
Hope you find this post helpfulđź’–