gpt4 book ai didi

html - 将鼠标移动到子菜单时,如何在父导航元素上保持悬停状态?

转载 作者:行者123 更新时间:2023-11-28 14:28:54 25 4
gpt4 key购买 nike

我正在尝试在主菜单元素和子菜单元素之间添加一些间距。

   .dropdown-menu{
margin-top:10px;
}

在添加子菜单放置在我想要的位置但将鼠标悬停在“Harry Potter Books”上然后尝试将鼠标从那里移动到子菜单后,子菜单消失了。

我希望能够将鼠标悬停在主菜单项上,并能够将鼠标悬停在子菜单上。

请参阅此代码笔,我正在使用 Bootstrap 来实现基本菜单样式。

https://codepen.io/anon/pen/ErVEZj?editors=11000#0

如果我可以提供任何其他信息,请告诉我。

最佳答案

你应该让 .navbar-nav>li>a(你悬停的东西)占据导航栏的整个高度,因为你想要导航栏下方的下拉菜单。

要使用您的代码轻松完成此操作,只需将 .navbar-nav 的顶部和底部边距移动 10px 到 .navbar-nav>li>a 的顶部和底部填充。然后,您可以从下拉菜单中删除 margin-top: 10px 以创建防悬停间隙。

/*Navbar styles*/

.nav-element {
color: white;
}

.navbar-nav {
margin-left: 20px !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
}

.navbar-nav>li>a {
padding-right: 20px !important;
padding-left: 20px !important;
padding-top: 15px !important;
padding-bottom: 15px !important;
color: white !important;
transition: all 0.5s ease;
}

#nav:hover>#nav-details {
display: block;
background-color: lightgrey;
}


/*Divider style for sub-menu */

.divider {
height: 1px;
margin: 9px 20px;
overflow: hidden;
background-color: #e5e5e5;
}

.dropdown-menu {}

.navbar-nav>li {
margin-top: 5px;
}


/*these css blocks contain style for the arrow on the sub-menu*/

.dropdown-menu:after,
.dropdown-menu:before {
bottom: 100%;
left: 80px;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
margin-top: 10px;
}

.dropdown-menu:after {
border-color: rgba(211, 211, 211, 0);
border-bottom-color: #D3D3D3;
border-width: 10px;
margin-left: -10px;
margin-top: 10px;
}

.dropdown-menu:before {
border-color: rgba(0, 0, 0, 0);
border-bottom-color: #;
border-width: 13px;
margin-left: -13px;
margin-top: 10px;
}


/*styles for list elements and hover logic */

li {
color: #fff;
display: block;
float: left;
position: relative;
text-decoration: none;
transition-duration: 0.5s;
}

li span a {
color: #fff;
}

li:hover>a:after {
background: orangered;
}

ul li ul {
visibility: hidden;
opacity: 0;
position: absolute;
transition: all 0.5s ease;
left: 0;
display: none;
}

ul li:hover>ul,
ul li>ul,
ul li ul:hover {
visibility: visible;
opacity: 1;
display: block;
}

ul li:hover>ul,

/*maintain hover state of parent list in sub menus*/

ul li:focus-within>ul,
ul li ul:hover {
visibility: visible;
opacity: 1;
display: block;
}

ul li ul li {
clear: both;
width: 100%;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<nav id="myNavbar" class="navbar navbar-default" role="navigation" style="background-color:royalblue;">
<div class="container">
<div class="navbar-collapse" id="navbarCollapse" style="background-color:royalblue;">
<ul class="nav navbar-nav">
<li id="nav" class="nav-element" aria-haspopup="true">
<a>Harry Potter Books</a>
<ul id="nav-details" aria-label="submenu" class="dropdown-menu sub-menu">
<li><a href="#">Sorcerer's Stone</a></li>
<li class="divider"></li>
<li><a href="#">Chamber of Secrets</a></li>
<li class="divider"></li>
<li><a href="#">Deathly Hallows</a></li>
<li class="divider"></li>
<li><a href="#">Goblet of Fire</a></li>
</ul>
</li>
<li class="nav-element" id="ltc-program-nav">
<a>Books Better than Harry Potter</a>
</li>
<li class="nav-element" id="ApplyNowTopLevel">
<a>Another Funny Link</a>
</li>

</ul>
</div>
</div>
</nav>

关于html - 将鼠标移动到子菜单时,如何在父导航元素上保持悬停状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com