当我通过另一个下拉菜单悬停时,出现下拉菜单的子菜单

TapTapGo

我试图创建一个子菜单,当我将鼠标悬停在菜单上时(例如电子设备)。我这样做了,但是只要我将鼠标悬停在下一个元素上(这里的下一个元素是电子菜单旁边的另一个名为家用电器的菜单),电子菜单的子菜单就会出现。有人知道如何解决吗?

HTML代码在这里:

<div class="header_wrapper">
  <a href="index.php"><img src="images/1.jpg"></a>
</div>

<div class="search">
  <form method="get" action="search.php">
    <input type="text" name="search" placeholder="Search...">
    <button type="submit">Submit</button>
  </form>
</div>

<div class="account">
  <a href="signup.php">SignUp</a>
  <a href="signin.php">SignIn</a>
  <a href="my_account.php">My Account</a>
  <a href="cart.php">Cart</a>
  <a href="track_order.php">Track Order</a>
</div>

<div class="cat_electronics">
  <elec>Elecronics</elec>
    <div class="elec">
      <a>Mobiles<i class="fas fa-caret-down"></i></a>
      <a>Mi</a>
      <a>Realme</a>
      <a>Samsung</a>
      <a>Sony</a>
      <a>Infinix</a>
      <a>Oppo</a>
      <a>Vivo</a>
      <a>Nokia</a>
      <a>Motorola</a>
      <a>Apple</a>
      <a>Lenovo</a>
      <a>honor</a>
      <a>Asus</a>
      <a>Google Pixel</a>
    </div>

    <div class="elec1">
      <a>Mobile Accessories<i class="fas fa-caret-down"></i></a>
      <a>Mobile Cases</a>
      <a>Headphones & Headsets</a>
      <a>Power Banks</a>
      <a>Screenguards</a>
      <a>Memory Cards</a>
      <a>Memory Cards</a>
      <a>Memory Cards</a>
      <a>Smart Headphones</a>
      <a>Mobile Cables</a>
      <a>Mobile Chargers</a>
      <a>Mobile Holders</a>
    </div>

    <div class="elec2">
      <a>Laptops<i class="fas fa-caret-down"></i></a>
      <a>Gaming Laptops</a>
      <a>Office-Work Laptops</a>
      <a>Mid-Range Laptops</a>
    </div>

    <div class="elec3">
      <a>Desktop PCs<i class="fas fa-caret-down"></i></a>
      <a>Gaming PCs</a>
      <a>Office PCs</a>
      <a>Workstation PCs</a>
      <a>Budget PCs</a>
    </div>
</div>

<div class="cat_home_appliances">
  <elec>Home Appliances</elec>
    <div class="home1">
      <a></a>
      <a></a>
      <a></a>
    </div>
</div>

CSS代码在这里:

        body{
  margin: 0;
  font-family: sans-serif;
  box-sizing: border-box;
  }

  .header_wrapper{
  padding: 10px;
  border-bottom: 2px solid grey;
  }

  .header_wrapper img{
  padding-left: 50px;

  }

  .search {
  margin-left: 250px;
  margin-top: -110px;
  }

  .search input[type=text]{
  padding: 7px;
  font-size: 17px;
  width: 30%;
  border-bottom: 2px solid grey;
  }

  .search button{
  font-size: 17px;
  text-align: center;
  padding: 6px;
  margin-left: -3px;
  border-bottom: 2px solid grey;
  background: white;
  }

  .search button:hover,input[type=text]:hover{
  color: orangered;
  font-weight: bolder;
  background: #f2f2f2;
  }

  .account{
  float: right;
  margin-right: 100px;
  margin-top: -28px;
  }

  .account a{
  text-decoration: none;
  color: black;
  text-align: center;
  padding: 7px;
  background: white;
  }

  .account a:hover{
  color: orangered;
  font-weight: bolder;
  border: 5px solid grey;
  padding: 5px;
  background: #f2f2f2;
  }

  .cat_electronics{
  margin-left: 250px;
  margin-top: 30px;
  position: absolute;
  }

  .cat_electronics elec:hover{
  color: orangered;
  border: 2px solid grey;
  cursor: pointer;
  }

  .elec{
  margin-top: 21px;
  display: none;
  border: 2px solid white;
  width: 100%;
  font-size: 15px;
  }

  .elec a{
  padding: 5px;
  display: block;
  border-left: 1px;
  border-right: 1px;
  border-style: solid;
  border-color: white;
  box-shadow: 0px 1px 2px #888888;
  }

  .elec a:hover,.elec1 a:hover,.elec2 a:hover{
  color: orangered;
  }

  .cat_electronics:hover .elec{
  display: block;
  }

  .cat_home_appliances{
  margin-left: 350px;
  margin-top: 30px;
  }

  .elec1{
  margin-top: -497px;
  margin-left: 100px;
  font-size: 15px;
  }

  .elec1 a,.elec2 a,.elec3 a{
  padding: 8px;
  display: block;
  }

  .elec2{
  margin-top: -395px;
  margin-left: 300px;
  font-size: 15px;
  }

  .elec3{
  margin-left: 300px;
  font-size: 15px;
  }
KJEK代码

这应该使您开始正确的轨道,我将CSS剥离(以便您可以看到发生了什么)更改为选择一个按钮,并在elec1-elec3周围添加了包装器

希望这可以帮助

.cat_electronics, .cat_home_appliances {
  display: inline-block;
  padding: 1rem;
}

.elect-container, .home1 {
  display: none;
  position: absolute;
}

.cat_electronics:hover > .elect-container {
  display: block;
}

.cat_home_appliances:hover > .home1 {
  display: block;
}
<div class="header_wrapper">
  <a href="index.php"><img src="images/1.jpg"></a>
</div>

<div class="search">
  <form method="get" action="search.php">
    <input type="text" name="search" placeholder="Search...">
    <button type="submit">Submit</button>
  </form>
</div>

<div class="account">
  <a href="signup.php">SignUp</a>
  <a href="signin.php">SignIn</a>
  <a href="my_account.php">My Account</a>
  <a href="cart.php">Cart</a>
  <a href="track_order.php">Track Order</a>
</div>

<div class="cat_electronics">
  <button>Elecronics</button>
    <div class="elect-container">
      <div class="elec">
        <a>Mobiles<i class="fas fa-caret-down"></i></a>
        <a>Mi</a>
        <a>Realme</a>
        <a>Samsung</a>
        <a>Sony</a>
        <a>Infinix</a>
        <a>Oppo</a>
        <a>Vivo</a>
        <a>Nokia</a>
        <a>Motorola</a>
        <a>Apple</a>
        <a>Lenovo</a>
        <a>honor</a>
        <a>Asus</a>
        <a>Google Pixel</a>
      </div>

      <div class="elec1">
        <a>Mobile Accessories<i class="fas fa-caret-down"></i></a>
        <a>Mobile Cases</a>
        <a>Headphones & Headsets</a>
        <a>Power Banks</a>
        <a>Screenguards</a>
        <a>Memory Cards</a>
        <a>Memory Cards</a>
        <a>Memory Cards</a>
        <a>Smart Headphones</a>
        <a>Mobile Cables</a>
        <a>Mobile Chargers</a>
        <a>Mobile Holders</a>
      </div>

      <div class="elec2">
        <a>Laptops<i class="fas fa-caret-down"></i></a>
        <a>Gaming Laptops</a>
        <a>Office-Work Laptops</a>
        <a>Mid-Range Laptops</a>
      </div>

      <div class="elec3">
        <a>Desktop PCs<i class="fas fa-caret-down"></i></a>
        <a>Gaming PCs</a>
        <a>Office PCs</a>
        <a>Workstation PCs</a>
        <a>Budget PCs</a>
      </div>
    </div>
</div>

<div class="cat_home_appliances">
  <button>Home Appliances</button>
    <div class="home1">
      <a>one</a>
      <a>two</a>
      <a>three</a>
  </div>
</div>
如我之前在评论中所述,您的cat_electronics div设置为绝对位置。创建悬停式下拉菜单时,“按钮”本身应该是静态的,显示和隐藏的菜单应该是绝对位置。另一个问题是,您没有隐藏.elec以外的任何子类别,而没有显示任何内容,您只是使用负边距将它们滑开了,所以elec1实际上仍然存在,并且与家用电器的“按钮”重叠,因此您拥有您的悬停设置(意味着在您悬停按钮或任何子类别时显示块,无论何时尝试悬停家用电器)都会显示它,因为从技术上讲,您正在悬停elec1,这会导致菜单显示,因为它是cat_electronics的子类别。

elec1重叠了您的按钮

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在另一个下拉菜单中选择选项时显示下拉菜单

如何基于另一个下拉菜单更改下拉菜单值

禁用p下拉菜单,具体取决于选择另一个p下拉菜单PrimeNG

根据另一个下拉菜单选择过滤下拉菜单

CSS在下拉菜单中有另一个下拉菜单

在选择另一个select2下拉菜单时重置一个select2下拉菜单的元素

WordPress下拉菜单重叠-悬停一个可打开另一个

打开另一个时如何关闭相邻的下拉菜单

来自另一个下拉菜单的国际电话输入更改下拉菜单拨号代码

从React.js的另一个下拉菜单中选择一个选项时如何重置下拉菜单值

多个下拉菜单,即使我单击另一个下拉菜单,也只有一个可用

关闭下拉菜单,同时在引导程序中打开另一个菜单

使自动完成工作在下拉菜单上,并使其填充另一个下拉菜单的内容

根据另一个下拉菜单更改下拉菜单

单击另一个下拉菜单时,下拉菜单中缺少离子选择的项目

在另一个下拉菜单中选择特定选项时,删除DropDownListFor选择

从另一个下拉菜单中选择一个值时,如何禁用下拉菜单值?

根据另一个下拉菜单的选定值,过滤并显示一个下拉菜单的选项

根据使用Javascript在另一个下拉菜单中选择的内容来设置下拉菜单值

单击另一个幻灯片菜单或下拉菜单时,幻灯片菜单不会隐藏

我有两个下拉菜单,如果更改下拉菜单的值,它将影响另一个下拉菜单

不出现下拉菜单

选择另一个时关闭下拉菜单

打开另一个时导航下拉菜单不会关闭

不出现下拉菜单

单击另一个关闭下拉菜单

如果另一个下拉菜单打开,我如何关闭下拉菜单

如果单击另一个下拉菜单,如何使下拉菜单自动关闭?

当另一个下拉菜单打开时隐藏侧面菜单中的一个下拉菜单