In this tutorial, we are going to create a CSS dropdown menu that will reveal its items on hover.
Let’s get started.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css" integrity="sha512-KfkfwYDsLkIlwQp6LFnl8zNdLGxu9YAA1QvwINks4PhcElQSvqcyVLLD9aMhXd13uQjoXtEKNosOWaZqXgel0g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="./assets/css/main.css" />
<title>CSS DROPDOWN</title>
</head>
<body>
<div class="dropdown">
<span class="label"><i class="fa-solid fa-link"></i>Social Links</span>
<ul class="items">
<li><a href="#"><i class="fa-brands fa-github"></i>Github</a></li>
<li><a href="#"><i class="fa-brands fa-instagram"></i>Instagram</a></li>
<li><a href="#"><i class="fa-brands fa-discord"></i>Discord</a></li>
<li><a href="#"><i class="fa-brands fa-youtube"></i>Youtube</a></li>
</ul>
</div>
</body>
</html>
body {
margin: 0;
font-family: "Poppins", Arial, sans-serif;
background: #1f2023;
color: #fff;
display: grid;
place-items: center;
height: 100vh;
}
ul {
list-style: none;
margin-block-start: 0;
margin-block-end: 0;
padding-inline-start: 0;
}
.dropdown {
position: relative;
}
.label {
cursor: pointer;
background: rgb(40, 40, 40);
padding: 0.8rem 1rem;
width: 100%;
display: block;
box-sizing: border-box;
transition: : all 0.3s;
}
.items a {
color: #fff;
display: flex;
align-items: center;
padding: 0.5rem 1rem;
text-decoration: none;
transition: all 0.2s;
}
.items a:hover{
border-left: 5px solid;
background: rgb(37, 37, 37);
}
.fa-brands,
.fa-solid {
margin-right: 10px;
}
.items {
background: rgb(52, 52, 52);
opacity: 0;
visibility: hidden;
max-width: 100%;
height: 0;
position: absolute;
top: 48px;
transform-origin: top;
transform: scale(0);
transition: transform 0.3s;
}
.items::before {
content: "";
position: absolute;
width: 15px;
height: 15px;
background: rgb(52, 52, 52);
transform: : rotate(45deg);
top: -7px;
left: 20px;
z-index: -1;
}
.dropdown:hover > .items {
opacity: 1;
visibility: visible;
height: unset;
transform: scale(1);
}
.dropdown:hover > .label{
background: rgb(255, 115, 0);
}
Here’s the result of our code
Here’s how you can add a hoverable CSS dropdown menu in your project.
Let me know what you think.
Latest tech news and coding tips.
Access all our software development training materials here. Error pages are custom web pages shown…
At the heart of every programming language lies a crucial question: how does human-readable code become…
The Third Industrial Revolution refers to the transformative period in which digital technologies replaced analog and mechanical…
What is Steam Locomotive (sl)? Steam Locomotive (sl) is a small terminal program on Unix/Linux systems…
What is Rate Limiting? Download this article as a PDF on the Codeflare Mobile App…
Learn on the Go. Download the Codeflare Mobile from iOS App Store. 1. What is…