0

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>
Jado Bado
  • 35
  • 4

0 Answers0