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đź’–





