【发布时间】:2016-09-06 18:32:29
【问题描述】:
我需要有带有下拉菜单项的主菜单。因此,当用户悬停菜单项时,会显示下拉菜单。这已经由 CSS 和 :hover 选择器完成。 但是,通常当 :hover 丢失(鼠标移到菜单项元素之外)时,相应的下拉菜单也会消失。但我需要的 - 菜单仍然可见,只有在点击时才会消失。
这里有一个例子:http://theemon.com/f/forever/Livepreview/agency-wedding/index.html
但是我不明白是哪个 CSS 或 JS 产生了这种效果,所以我不能在这里添加 snipper(如果可以,我不会问)。 在这个特定的示例中,当您悬停菜单项“页面”时,会出现下拉菜单,但在 :hover 丢失时它不会消失。它留在那里。我找不到,是什么造成了这种效果 - 是一些 JS 还是 CSS?
HTML:
<ul class="navigation clearfix">
<li class="active">
<a href="#">HOME</a>
</li>
<li>
<a href="#">pages</a>
<ul class="drop-down">
<li>
<a href="event.html">Event</a>
</li>
<li>
<a href="blog.html">Blog</a>
</li>
<li>
<a href="blog-detail-page.html">Blog-Detail</a>
</li>
<li>
<a href="travel-info.html">Travel-Info</a>
</li>
<li>
<a href="404-page.html">404</a>
</li>
</ul>
</li>
</ul>
一些 CSS:
.clearfix {
display: block;
}
ul {
list-style-type: none;
}
ul, ol {
font-size: 100%;
line-height: 1.5;
list-style: none;
}
.navigation > li {
padding: 16px 0px 36px 26px;
float: left;
position: relative;
line-height: 1.5em;
}
.navigation > li:hover .drop-down {
top: 76px;
left: auto;
left: 16px;
right: 0;
}
.drop-down {
position: absolute;
top: 100px;
width: 160px;
z-index: 999;
left: -9999px;
opacity: 0;
transition: top .2s ease, opacity .2s ease;
}
【问题讨论】:
标签: javascript jquery html css