我有以下下拉菜单:
<div id="header">
<div class="container">
<ul class="navigation">
<li>
<a href=""></a>
<ul class="sub-menu">
<li></li>
</ul>
</li>
</ul>
</div>
</div>
#header .navigation {
float: right;
margin: 15px 0 0;
position: relative;
}
#header .navigation li {
float: left;
margin: 0 20px 0 0;
position: relative;
}
#header .navigation li a {
float: left;
}
#header .navigation li:hover .sub-menu {
display: block;
transition: all 0.0s ease 0s;
}
#header .navigation > li > .sub-menu {
display: none;
width: 150px;
transition: all 0.0s ease 0.2s;
padding: 10px 15px 2px;
position: absolute;
top: 20px;
left: 0;
}
#header .navigation > li > .sub-menu li {
clear: both;
margin: 0 0 10px;
width: 100% ;
}
#header .sub-menu .sub-menu li {
padding: 10px 0 0 15px;
margin: 0 !important;
}
问题是 .sub-menu
在我离开父菜单后立即消失了。我怎样才能使 .sub-menu
在我悬停时保持原样?
这是一个活生生的例子:http://m2c.dreamhosters.com/wordpress/
最佳答案
需要注意两点:
- 在链接本身上放置任何填充,因为您不希望顶部
li
和子ul
之间有任何间隙
- 确保子
ul
整齐地塞在顶部li
的底部,顶部:100%。 (这样可以防止它们之间出现任何间隙。
例如
#header .navigation {
float: right;
margin: 15px 0 0;
position: relative;
}
#header .navigation li {
float: left;
margin: 0 20px 0 0;
position: relative;
}
#header .navigation li a {
float: left;
}
#header .navigation li:hover .sub-menu {
display: block;
transition: all 0.0s ease 0s;
}
#header .navigation li .sub-menu {
display: none;
width: 150px;
transition: all 0.0s ease 0.2s;
position: absolute;
top: 100%;
left: 0;
}
#header .navigation > li > .sub-menu li {
clear: both;
width: 100%;
}
ul, li {list-style: none; padding: 0; margin: 0;}
<div id="header">
<ul class="navigation">
<li>
<a href="">link</a>
<ul class="sub-menu">
<li>text</li>
</ul>
</li>
</ul>
</div>
关于html - 当我将鼠标悬停在下拉菜单上时,我怎样才能让它停留在那里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538679/