如何避免鼠标离开按钮时Dropdown下拉菜单消失?
解决下拉菜单鼠标悬停子元素时消失的问题
问题出在你只给按钮绑定了hover触发规则——当鼠标从按钮移到下拉菜单上时,按钮的hover状态消失,菜单也就跟着隐藏了。要实现常规下拉菜单的效果,只需要把hover事件绑定到父容器.dropdown上,只要鼠标在按钮或下拉菜单的范围内,父容器的hover状态就会保持,菜单自然不会消失。
修改后的CSS代码如下:
.dropdown { display: inline-block; padding: 5px; /* background:#f1f1f1; */ } .dropbtn { padding: 5px; margin-bottom: 0px; width: 100%; } .dropdown-content { display: none; list-style: none; background: #f1f1f1; position: relative; top: 0px; left: 0px; padding: 0px; margin: 0px; text-align: center; z-index: 1; width: 100%; } .dropdown-content li { margin-bottom: 0px; padding: 3px; } .dropdown-content li a { text-decoration: none; color: black; padding: 3px; } .dropdown-content li:hover, .dropdown-content li a:hover { text-decoration: none; color: white; background-color: #333; } /* 关键修改:将hover绑定到父容器.dropdown */ .dropdown:hover .dropdown-content { display: block; }
HTML代码无需修改:
<div class="dropdown"> <button class="dropbtn">More</button> <ul class="dropdown-content"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </div>
内容的提问来源于stack exchange,提问作者craigbob44
相关产品推荐
相关产品推荐

