首页 > 解决方案 > 使用css的嵌套下拉菜单

问题描述

使用简单的 css 尝试嵌套下拉菜单。我正在尝试制作导航菜单。一切似乎都很好,除了当我将鼠标悬停在 NEW HERE 下的关于我们部分时,它向我显示了正确的结果。但问题是当我将鼠标悬停在它下面的下一部分时它并没有消失。我怎么可能解决这个问题?这是链接供您考虑的片段,请告诉我我在哪里做错了。这是代码供您查看..

   .dropbtn2
  {
    position: relative;
    display: none;
  }
  .dropdown {
    position: relative;
    display: inline-block;
  }

  /* Dropdown Content (Hidden by Default) */
  .dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 169px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
  }

  /* Links inside the dropdown */
  .dropdown-content a {
    color: black;
    font-size:20px;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }

  /* Change color of dropdown links on hover */
  .dropdown-content a:hover {background-color: #f1f1f1}

  /* Show the dropdown menu on hover */
  .dropdown:hover .dropdown-content {
    display: block;
    transition:none;
  }
  .dropdown-content a:hover {
    padding-top:15px;
    transition:ease-in-out .5s;
  }
  .dropdown:hover .dropbtn
  {
    background-color: #8300ff;
    color: #182318;
    padding-top: 500px;
    padding-bottom: 30px;
    padding-right: 20px;
    padding-left: 20px;
    transition: ease-out 0.5s;
    text-decoration: none;
    box-shadow:none;

  }
  /* End*/
  .dropdown-content2 {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width:170px;
    left:170px;
    top:0;
    z-index: 1;
  }

  /* Links inside the dropdown */
  .dropdown-content2 a {
    color: black;
    font-size:20px;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }

  /* Change color of dropdown links on hover */
  .dropdown-content2 a:hover {background-color: #f1f1f1}

  /* Show the dropdown menu on hover */
  .dropdown-content:hover .dropdown-content2 {
    display: block;
    transition:none;
  }
  .dropdown-content2 a:hover {
    padding-top:15px;
    transition:ease-in-out .5s;
  }
  .dropdown a:hover .dropbtn2
  {
    padding-bottom: 30px;
    padding-right: 20px;
    padding-left: 20px;
    transition: ease-out 0.5s;
    text-decoration: none;
    box-shadow:none;

  }

  /*TEST*/

标签: htmlcss

解决方案


您需要将元素更改为悬停,以便dropdown-content仅在悬停第一个链接时显示您的。

要替换的值位于 codepen 的第 182 行。替换dropdown-content:hover .dropdown-content2.dropdown2:hover .dropdown-content2

第 181-185 行:

  /* Show the dropdown menu on hover */
  .dropdown2:hover .dropdown-content2 { /* change the hover element here */
    display: block;
    transition:none;
  }

推荐阅读