下拉菜单很难保持打开状态
drop down menu is hardly staying open
这是 SO 中经常解决的问题,但这里几乎有 5 个线程没有提供任何帮助。除非我多次将鼠标悬停在初始项目上,否则下拉菜单项不会保持打开状态。我无法在特定 class 中找到问题,如有任何帮助,我们将不胜感激。
这是 CSS 代码:
nav ul {
list-style: none;
}
nav ul li {
display: block;
float: right;
}
nav ul ul {
display: none;
position: relative;
margin-top: 60px;
}
nav ul li:hover > ul {
display: block;
position: absolute;
margin-left: -30px;
}
nav ul ul li {
width: 170px;
float: none;
display: block;
}
#navigation_bar a {
display: block;
float: right;
padding: 5px;
font-size: 25px;
color: black;
}
#navigation_bar a:hover {
border-radius: 20px;
color: #FFFFFF;
transition: color 0.2s;
}
div nav {
display: block;
}
这里是对应的HTML代码:
<div id="navigation_bar">
<nav>
<ul>
<li><a href="">شركتنا</a></li>
<li><a href="">الخدمات</a></li>
<li><a href="">المركز الإعلامي</a>
<ul>
<li><a href="">آخر الأخبار</a></li>
<li><a href="">معرض الصور</a></li>
</ul>
</li>
<li><a href="">التحميلات</a></li>
<li><a href="">اتصل بنا</a></li>
</ul>
</nav>
</div>
这是因为父级导航和子级下拉菜单之间有一点差距。当您尝试将鼠标悬停在子下拉菜单上并且光标越过此间隙时,您将失去 li:hover
状态,因此下拉菜单会隐藏。
nav ul ul {
...
margin-top: 43px;
...
}
https://jsfiddle.net/mq29ac39/1/
现在将这个与原来的进行比较margin-top: 63px
https://jsfiddle.net/mq29ac39/2/
我为背景添加了一种颜色,以便更好地了解间隙
这是 SO 中经常解决的问题,但这里几乎有 5 个线程没有提供任何帮助。除非我多次将鼠标悬停在初始项目上,否则下拉菜单项不会保持打开状态。我无法在特定 class 中找到问题,如有任何帮助,我们将不胜感激。 这是 CSS 代码:
nav ul {
list-style: none;
}
nav ul li {
display: block;
float: right;
}
nav ul ul {
display: none;
position: relative;
margin-top: 60px;
}
nav ul li:hover > ul {
display: block;
position: absolute;
margin-left: -30px;
}
nav ul ul li {
width: 170px;
float: none;
display: block;
}
#navigation_bar a {
display: block;
float: right;
padding: 5px;
font-size: 25px;
color: black;
}
#navigation_bar a:hover {
border-radius: 20px;
color: #FFFFFF;
transition: color 0.2s;
}
div nav {
display: block;
}
这里是对应的HTML代码:
<div id="navigation_bar">
<nav>
<ul>
<li><a href="">شركتنا</a></li>
<li><a href="">الخدمات</a></li>
<li><a href="">المركز الإعلامي</a>
<ul>
<li><a href="">آخر الأخبار</a></li>
<li><a href="">معرض الصور</a></li>
</ul>
</li>
<li><a href="">التحميلات</a></li>
<li><a href="">اتصل بنا</a></li>
</ul>
</nav>
</div>
这是因为父级导航和子级下拉菜单之间有一点差距。当您尝试将鼠标悬停在子下拉菜单上并且光标越过此间隙时,您将失去 li:hover
状态,因此下拉菜单会隐藏。
nav ul ul {
...
margin-top: 43px;
...
}
https://jsfiddle.net/mq29ac39/1/
现在将这个与原来的进行比较margin-top: 63px
https://jsfiddle.net/mq29ac39/2/
我为背景添加了一种颜色,以便更好地了解间隙