My goal is to insert a blurry header background and a blurry dropdown-menu. Basically I'm trying to put a Backdrop-filter: blur(15px);
to my .dropdown-menu
but there's already a Backdrop-filter: blur(5px);
inside the header
. I believe it's overriding it (not sure).
I've tried using a higher z-index value for the dropdown menu and setting the backdrop-filter property on both the header and dropdown menu, but the issue persists. It's possible that there may be other CSS properties affecting the backdrop-filter property. It would be helpful to provide a minimal, reproducible example of the issue. Thank you.
Here's the code:
// Burger-bar and dropdown menu
const toggleBtn = document.querySelector(".burger-bar");
const toggleBtnIcon = document.querySelector(".burger-bar i");
const dropdownMenu = document.querySelector(".dropdown-menu");
toggleBtn.onclick = function () {
dropdownMenu.classList.toggle("open");
const isOpen = dropdownMenu.classList.contains("open");
toggleBtnIcon.classList = isOpen ? "fa-solid fa-xmark" : "fa-solid fa-bars";
};
header {
position: fixed;
top: 0;
left: 0;
z-index: 1000;
width: 100%;
height: 10%;
background-color: rgba(255, 255, 255, 0.535);
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
backdrop-filter: blur(5px);
transition: 1s;
}
header:hover {
background-color: #fff;
}
.navbar {
width: 100%;
height: 100%;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 10px;
}
header .navbar .logo img {
width: 100px;
}
header .navbar .search-box-container {
width: 100%;
margin-left: 2rem;
}
header .navbar .search-box-container {
width: 100%;
margin-left: 2rem;
}
header .navbar .search-box-container .search-bar {
display: flex;
align-items: center;
}
header .navbar .search-box-container .search-bar input {
background: transparent;
border: none;
border-bottom: 2px solid black;
outline: 0;
font-size: 15px;
padding: 0 10px;
height: 40px;
width: 80%;
color: #060606;
}
::placeholder {
text-align: center;
}
header .navbar .search-box-container .search-bar button {
border: 0;
border-radius: 50%;
min-width: 30px;
min-height: 30px;
background: #060606;
cursor: pointer;
margin-left: 5px;
}
header .navbar .search-box-container .search-bar button img {
width: 15px;
}
header .navbar .links {
display: flex;
}
header .navbar .links button {
font-size: 1rem;
background-color: transparent;
white-space: nowrap;
border: none;
cursor: pointer;
margin: 0 2rem;
transition: 0.5s;
}
header .navbar .links button:hover {
color: #5aae63;
}
header .navbar .links li {
list-style: none;
}
header .navbar .action-btn {
background-image: linear-gradient(to left, #5aae63, #005b9cd6, #5aae63);
background-size: 200%;
margin-right: 2rem;
color: #fff;
padding: 0.5rem 1rem;
border: none;
outline: none;
cursor: pointer;
transition: 0.6s;
border-radius: 20px;
white-space: nowrap;
}
header .navbar .action-btn:hover {
background-position: right;
}
header .navbar .burger-bar {
display: none;
margin: 0 1rem;
width: 30px;
}
.dropdown-menu {
display: none;
}
@media (max-width: 1182px) {
.navbar {
padding: 0 1rem;
}
.links li button,
.action-btn,
.search-box {
display: none;
}
header .navbar .search-box-container {
margin-left: 1rem;
}
::placeholder {
font-size: 10px;
}
header .navbar .burger-bar {
display: block;
cursor: pointer;
font-size: 20px;
}
/*dropdown menu*/
.dropdown-menu {
position: absolute;
list-style: none;
right: 0rem;
top: 100%;
width: 300px;
background-color: rgba(255, 255, 255, 0.535);
backdrop-filter: blur(15px);
box-shadow: -5px 5px 5px 0px rgba(0, 0, 0, 0.75);
transition: 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.dropdown-menu.open {
display: block;
}
.dropdown-menu li {
padding: 0.7rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.dropdown-menu li button {
font-size: 1rem;
background-color: transparent;
white-space: nowrap;
border: none;
cursor: pointer;
margin: 0 2rem;
transition: 0.5s;
}
.dropdown-menu ul li .action-btn-2 {
background-image: linear-gradient(to left, #5aae63, #75b4c6);
margin-right: 2rem;
color: #fff;
padding: 0.5rem 1rem;
border: none;
outline: none;
cursor: pointer;
transition: 0.6s;
border-radius: 20px;
white-space: nowrap;
}
.dropdown-menu ul li .action-btn-3 {
margin-top: 1rem;
}
@media only screen and (max-width: 429px) {
.dropdown-menu {
width: 100%;
}
<header>
<div class="navbar">
<div class="logo">
<a href="#">
<img src="/assets/img/logo1.png" alt="" />
</a>
</div>
<div class="search-box-container">
<form action="" class="search-bar">
<input type="text" placeholder="Search Ashtanga..." name="" />
<button type="submit">
<img src="/assets/img/search.png" alt="" />
</button>
</form>
</div>
<ul class="links">
<li><button type="button">Plans</button></li>
<li><button type="button">Studios</button></li>
<li><button type="button">Library</button></li>
<li><button type="button">Teacher Training</button></li>
</ul>
<button class="action-btn" type="button">Get Started</button>
<button class="action-btn login-btn" type="button">Log In</button>
<div class="burger-bar">
<i class="fa-solid fa-bars"></i>
</div>
<div class="dropdown-menu">
<ul>
<li><button type="button">Home</button></li>
<li><button type="button">Plans</button></li>
<li><button type="button">Studios</button></li>
<li><button type="button">Library</button></li>
<li><button type="button">Teacher Training</button></li>
<li>
<button class="action-btn-2" type="button">Get Started</button>
<button class="action-btn-2 action-btn-3" type="button">
Log In
</button>
</li>
</ul>
</div>
</div>
</header>